Page 463 - MDP2022-2
P. 463
//initialize networkstream
TcpClient tc = new TcpClient("192.168.137.200", 4000);
_networkStream = tc.GetStream();
//add Event to components
foreach(Button btn in new Button[]{forwardButton,
backwardButton, leftButton, rightButton})
{
btn.MouseDown += (o, args) =>
{
_key = btn.Equals(forwardButton) ? "w" :
btn.Equals(backwardButton) ? "s" :
btn.Equals(leftButton) ? "a" : "d";
_isRunning = true;
};
btn.MouseUp += (o, args) => _isRunning = false;
}
}
private void ContorollerForm_FormClosed(object sender,
FormClosedEventArgs e)
{
_mJpegStream.SignalToStop();
_mJpegStream.Stop();;
}
private void keySendTimer_Tick(object sender, EventArgs e)
{
if (_isRunning)
{
byte[] buff = Encoding.ASCII.GetBytes(_key.ToString());
_networkStream.Write(buff, 0, buff.Length);
}
}