private void Send() { try { Data data = new Data() { DrawMode = DrawMode, Color = color, X0 = x0, Y0 = y0, X = x, Y = y, Cx = cx, Cy = cy, PenSize = trackBar1.Value }; DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(Data)); MemoryStream ms = new MemoryStream(); js.WriteObject(ms, data); ms.Position = 0; StreamReader sr = new StreamReader(ms); Packet sendData = new Packet(); sendData.ChatMessage = sr.ReadToEnd(); sendData.ChatDataIdentifier = DataIdentifier.Message; byte[] byteData = sendData.GetDataStream(); clientSocket.BeginSendTo(byteData, 0, byteData.Length, SocketFlags.None, epServer, new AsyncCallback(this.SendData), null); sr.Close(); ms.Close(); } catch (Exception ex) { } }
private void btnConnect_Click(object sender, RoutedEventArgs e) { try { name = tbUserName.Text.Trim(); Packet sendData = new Packet(); sendData.ChatName = name; sendData.ChatMessage = null; sendData.ChatDataId = DataId.LogIn; clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPAddress serverIP = IPAddress.Parse(tbServerIP.Text.Trim()); IPEndPoint server = new IPEndPoint(serverIP, 50000); epServer = server; byte[] data = sendData.GetDataStream(); clientSocket.BeginSendTo(data, 0, data.Length, SocketFlags.None, epServer, new AsyncCallback(SendData), null); dataStream = new byte[1024]; clientSocket.BeginReceiveFrom(dataStream, 0, dataStream.Length, SocketFlags.None, ref epServer, new AsyncCallback(ReceiveData), null); } catch (Exception ex) { MessageBox.Show("Connection Error: " + ex.Message, "Client Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void btnConnect_Click(object sender, EventArgs e) { try { Packet sendData = new Packet(); sendData.ChatMessage = null; this.clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPAddress serverIP = IPAddress.Parse(txtServerIP.Text.Trim()); IPEndPoint server = new IPEndPoint(serverIP, 30000); epServer = (EndPoint)server; byte[] data = sendData.GetDataStream(); clientSocket.BeginSendTo(data, 0, data.Length, SocketFlags.None, epServer, new AsyncCallback(this.SendData), null); } catch (Exception ex) {} }
private void btnSend_Click(object sender, RoutedEventArgs e) { try { Packet sendData = new Packet(); sendData.ChatName = name; sendData.ChatMessage = tbNewMessage.Text.Trim(); sendData.ChatDataId = DataId.Message; byte[] byteData = sendData.GetDataStream(); clientSocket.BeginSendTo(byteData, 0, byteData.Length, SocketFlags.None, epServer, new AsyncCallback(SendData), null); tbNewMessage.Clear(); } catch (Exception ex) { MessageBox.Show("Send Error: " + ex.Message, "Client Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { try { if (clientSocket != null) { Packet sendData = new Packet(); sendData.ChatDataId = DataId.LogOut; sendData.ChatName = name; sendData.ChatMessage = null; byte[] byteData = sendData.GetDataStream(); clientSocket.SendTo(byteData, 0, byteData.Length, SocketFlags.None, epServer); clientSocket.Close(); } } catch (Exception ex) { MessageBox.Show("Closing Error: " + ex.Message, "Client Error", MessageBoxButton.OK, MessageBoxImage.Error); } }