zoukankan      html  css  js  c++  java
  • socket tcp 通讯 示例

            private void button1_Click(object sender, EventArgs e)
            {
                Socket srv = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                IPEndPoint ep = new IPEndPoint(IPAddress.Any, 8080);
                srv.Bind(ep);
                srv.Listen(100);

                Thread th = new Thread(new ParameterizedThreadStart(GetConnection));
                th.IsBackground = true;
                th.Start(srv);

                button1.Enabled = false;
            }

            private void GetConnection(object _srv)
            {
                Socket srv = (Socket)_srv;
                while (true)
                {
                    Socket client = srv.Accept();

                    Thread th = new Thread(new ParameterizedThreadStart(GetMesFromClient));
                    th.IsBackground = true;
                    th.Start(client);
                }

            }

            private void GetMesFromClient(object _client)
            {
                Socket client = (Socket)_client;
                while (true)
                {
                    byte[] tmp = new byte[1024];
                    int len = client.Receive(tmp);
                    if (len == 0)
                        break;

                    byte[] buffer = new byte[len];
                    Array.Copy(tmp, buffer, len);

                    string mes = Encoding.Default.GetString(buffer);
                    int hd = client.Handle.ToInt32();
                }

                if (client != null)
                {
                    client.Close();
                }
            }
  • 相关阅读:
    easypoi添加下拉预选值
    java启动项目字符编码和配置文件的字符编码问题
    leetcode
    leetcode
    leetcode
    leetcode
    事务的隔离级别- 极客时间()
    数据库的事务
    SQL中的视图(极客时间)
    SQL中的连接(极客时间)
  • 原文地址:https://www.cnblogs.com/bloodofhero/p/2569401.html
Copyright © 2011-2022 走看看