Socket TcpClient 通信

 
Socket命令发送
        public void LostLicense(LicenseInfo license)
        {
            var arr = Dao.QueryForList<Hashtable>(Dao.GetStatementName("LostLicense"), license);
            string socketIpPort = ConfigurationManager.AppSettings["socketIpPort"];
            if (arr != null && socketIpPort != null)
            {
                string[] strIp = socketIpPort.Split(':');
                IPAddress ip = IPAddress.Parse(strIp[0]);
                int port = int.Parse(strIp[1]);
                foreach (var i in arr)
                {
                    Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    clientSocket.Connect(new IPEndPoint(ip, port));
                    var s = Convert.ToString(int.Parse(i["MNGINSID"].ToString()), 16).PadLeft(10, '0');
                    clientSocket.Send(HexStrTobyte("3C09" + s + "39FF"));
                    clientSocket.Close();
                }
            }
        }
View Code
       StringBuilder strHttp = new StringBuilder("http://minigps.cn/as?mt=0&p=1&needaddress=0&x=1cc-0-");
                            strHttp.Append(lbs.ElementAt(0));
                            strHttp.Append("-00");
                            var uri = new Uri(strHttp.ToString());//towerInfo.CellParas
                            var request = $@"GET {uri.PathAndQuery} HTTP/1.1
Connection:close
Host:{uri.Host}

";
                            var buffer = Encoding.ASCII.GetBytes(request);
                            using (var tcpclient = new TcpClient())
                            {
                                tcpclient.SendTimeout = CONST_TCP_SEND_TIMEOUT;
                                tcpclient.ReceiveTimeout = CONST_TCP_RECEIVE_TIMEOUT;
                                tcpclient.Connect(uri.Host, uri.Port);
                                tcpclient.Client.Send(buffer);
                                using (var stream = tcpclient.GetStream())
                                {
                                    //TCP,读取原始TCP数据
                                    using (var reader = new StreamReader(stream, Encoding.ASCII))
                                    {
                                        http = reader.ReadToEnd();
                                        reader.Close();
                                    }
                                    stream.Close();
                                }
                                tcpclient.Close();
                            }
原文地址:https://www.cnblogs.com/yyzyou/p/12975000.html