public override bool Send(string data = "") { if (data == "") { return(false); } try { if (LinkStatus) { byte[] databytes = Encoding.UTF8.GetBytes(data); Console.Error.WriteLine("Data is sending to {0}:{1}", UDPClient.Address, UDPClient.Port); UDPService.Send(databytes, databytes.Length, UDPClient); } else { Console.Error.WriteLine("The UDP service is not linked."); } return(true); } catch (Exception e) { Console.Error.WriteLine("UDP Service Exception on Send: " + e.Message + e.StackTrace); return(false); } }
public override void Stop() { // Stop listening for new clients. //if (LinkStatus) //{ // Console.Error.WriteLine("Closing the UDP linking."); // UDPClient.Close(); //} Console.Error.WriteLine("Stopping the UDP linking service."); UDPService.Close(); Status = false; LinkStatus = false; }
private void btn_start_Click(object sender, EventArgs e) { if (tB_myport.Enabled == false) { if (rB_tcp.Checked) { if (tServer == null) { tServer = new TServer(TcpGetDataArrived); } tServer.ServerStartListen(comboBox1.Text, Convert.ToInt16(tB_myport.Text)); btn_start.Enabled = false; btn_close.Enabled = true; gB_mode.Enabled = false; btn_check.Enabled = false; //textBox1.Enabled = true; } else if (rB_udp.Checked) { if (uServer == null) { uServer = new UDPService(UdpGetDataArrived); } uServer.PrepareClient(Convert.ToInt16(tB_myport.Text)); btn_start.Enabled = false; btn_close.Enabled = true; gB_mode.Enabled = false; btn_check.Enabled = false; //textBox1.Enabled = true; } else { MessageBox.Show("Please Select Mode."); } } else if (tB_myport.Enabled == true) { MessageBox.Show("Please Select Port."); } }
static UDPService() { k_Instance = new UDPService(); }
static void Main(string[] args) { Console.WriteLine("Hello World!"); //UdpClient udpClient = new UdpClient("127.0.0.1", 10086); //EndPoint point = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 10086); //Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); //socket.Bind(point); ////socket.Listen(10); //while (true) //{ // Socket connectSocket = socket.Accept(); // if (connectSocket != null) // { // Console.WriteLine("connected:" + connectSocket.LocalEndPoint.ToString()); // GetMessage(connectSocket); // } //} //Message message = new Message(); //message.Id = 1; //message.Handler = "dddd"; //message.AddParam("fox"); //int length = CodedOutputStream.ComputeMessageSize(message); //byte[] bytes = new byte[length]; //CodedOutputStream cos = new CodedOutputStream(bytes); //cos.WriteMessage(message); //Type tm = message.GetType(); //Console.WriteLine(tm); //Type t = Message.GetTypeByName(tm.FullName); //Console.WriteLine(t + " " + typeof(IMessage).IsAssignableFrom(t)); //CodedInputStream cis = new CodedInputStream(bytes); //object obj = Activator.CreateInstance(t); //cis.ReadMessage((IMessage)obj); //Console.WriteLine(obj); MessageQueue messageQueue = new MessageQueue(100, 100); messageQueue.Start(); // TCPService service = new TCPService("127.0.0.1", 10086); UDPService service = new UDPService("127.0.0.1", 10086); service.receiveMsg = (ISession session, byte[] bytes) => { Message m = Message.Parser.ParseFrom(bytes); MessageHandler mh = new MessageHandler(session, m); messageQueue.Add(mh); Message mm = m.Clone(); mm.Handler = "收到:" + ((UDPSession)session).iPEnd; session.Send(mm); ////MyMessage m = new MyMessage(); ////m.Read(bytes); //string ss = Encoding.Default.GetString(m.Param[0].ToByteArray()); //Console.WriteLine("session:" + session.SessionId + "message:" + m.ToString() + " param:" + m.Param.Count); //Console.WriteLine(ss); }; service.Start(); while (true) { Console.ReadKey(); } }