public DataMessage(byte[] data) { //the first four bytes are for type connect this.typeConnect = (TypeConnect)BitConverter.ToInt32(data, 0); //the next four store the length of name client int lengthName = BitConverter.ToInt32(data, 4); int lengthMessage = BitConverter.ToInt32(data, 8); //read name and message if (lengthName > 0) { this.clientName = Encoding.UTF8.GetString(data, 12, lengthName); } else { this.clientName = string.Empty; } if (lengthMessage > 0) { this.message = (new Bitmap(new MemoryStream(data.SubArray(12 + lengthName, lengthMessage)))).ToMat(); } else { this.message = null; } }
public GConnect(Vertex v, Vertex own, Line g, TypeConnect type, int length = 1) { if (g == null) { switch (type) { case TypeConnect.None: break; case TypeConnect.DigraphOwn: g = new Digraph(own, v) { Length = length }; v.SetConnect(own, TypeConnect.DigraphSon, length, g); break; case TypeConnect.DigraphSon: g = new Digraph(v, own) { Length = length }; v.SetConnect(own, TypeConnect.DigraphOwn, length, g); break; case TypeConnect.Edge: g = new Edge(own, v) { Length = length }; v.SetConnect(own, TypeConnect.Edge, length, g); break; case TypeConnect.Loop: g = new Loop(v) { Length = length }; break; case TypeConnect.Diloop: g = new Diloop(v) { Length = length }; break; default: break; } } Edge = g; Vertex = v; Own = own; Type = type; }
private void SendMessage(TypeConnect type, Mat message) { DataMessage msgToSend = new DataMessage(); msgToSend.clientName = this.clientName; msgToSend.message = message; msgToSend.typeConnect = type; try { data = msgToSend.ToByte(); clientSocket.BeginSendTo(data, 0, data.Length, SocketFlags.None, serverEndPoint, new AsyncCallback(OnSend), null); } catch (Exception e) { MessageBox.Show(e.Message, "Client Sending", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public DataMessage() { typeConnect = TypeConnect.Null; clientName = string.Empty; message = null; }