static void Main() { method1 objDel2; objDel2 = new method1(TestMethod1); objDel2("test"); objDel2.Invoke("Invoke"); }
public Listener() { method1 me = new method1(); me.method = "version"; string ttemp = JsonConvert.SerializeObject(me); var ttt = JsonConvert.DeserializeObject <method1>(ttemp); Thread th = null; myListener = new TcpListener(IPAddress.Any, 9905) { ExclusiveAddressUse = false }; myListener.Start(200); th = new Thread(new ThreadStart(StartListen)); th.Start(); }
public void StartListen() { while (true) { try { // TcpClient tc = myListener.AcceptTcpClient(); //byte[] buffer = new byte[tc.ReceiveBufferSize]; //NetworkStream stream = tc.GetStream();//获取网络流 //stream.Read(buffer, 0, buffer.Length);//读取网络流中的数据 //BinaryReader reader = new BinaryReader(stream); //BinaryWriter writer = new BinaryWriter(stream); //string receiveString = Encoding.ASCII.GetString(buffer);//转换成字符串 //if (receiveString.Substring(0, 3) == "GET") //{ // sendResponse(writer); // sendResponse(receiveString,tc.Client); //} //stream.Close();//关闭流 //tc.Close();//关闭Client Socket mySocket = myListener.AcceptSocket(); mySocket.NoDelay = true; mySocket.ReceiveBufferSize = 8192; mySocket.ReceiveTimeout = 1500; byte[] bReceive = new byte[8900]; byte[] bSend = new byte[8900]; Thread.Sleep(200); mySocket.Receive(bReceive, SocketFlags.None); string sBuffer = Encoding.ASCII.GetString(bReceive); string[] temps = sBuffer.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); string temp = temps[temps.Length - 1]; temp = temp.Substring(0, temp.IndexOf('}') + 1); //HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://10.10.1.221:9905"); //WebResponse webResponse = webRequest.GetResponse(); method1 met = JsonConvert.DeserializeObject <method1>(temp); if (met == null) { continue; } byte[] bSend1 = Encoding.ASCII.GetBytes(strACK); StringBuilder sb = new StringBuilder(); sb.Append("HTTP/1.1 200 OK \r\n"); sb.Append("Server:AR's Server \r\n"); sb.Append(string.Format("Date: {0} \r\n", DateTime.Now.ToShortDateString())); sb.Append(string.Format("Content-Length: {0}\r\n", bSend1.Length)); sb.Append("content-type:application/json \r\n\r\n"); //sb.Append(strACK+"\r\n"); if (string.Equals(met.method, string.Format("version"), StringComparison.InvariantCultureIgnoreCase)) { try { Console.WriteLine(met.method); Console.WriteLine(strACK); bSend = Encoding.ASCII.GetBytes(sb.ToString()); mySocket.Send(bSend); mySocket.Send(bSend1); } catch (System.Exception ex) { Console.WriteLine(ex.Message); } } mySocket.Close(); } catch (System.Exception ex) { Console.WriteLine(ex.Message); } //Console.ReadKey(); } //Console.ReadKey(); }