zoukankan      html  css  js  c++  java
  • 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();
                                }
  • 相关阅读:
    进程、线程、协程
    C++内存模型
    动态库dll与静态库lib
    virtual 虚函数表
    C++面试随笔
    alloc()、malloc()、calloc()、realloc()区别及用法
    C/C++ 面试题记录
    VC底层钩子程序在Win7/Vista下无效
    JMeter安装之后修成中文版
    明天开始 新的旅程
  • 原文地址:https://www.cnblogs.com/yyzyou/p/12975000.html
Copyright © 2011-2022 走看看