Socket小结

服务器端

1、定义全局变量套接字和创建负责监听连接的线程

        //创建套接字
        Socket socket = null;
        //创建负责监听客户端连接的线程;
        Thread threadListen = null;

2、创建套接字socket,开启服务Bind,开启新线程ListenConnecting进行监听客户端的连接

        private void btn_StartServer_Click(object sender, EventArgs e)
        {
            //创建负责监听的套接字
            socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPAddress address = IPAddress.Parse(this.txt_IP.Text.Trim());
            //根据ipaddress 以及端口号创建ipe对象
            IPEndPoint endPoint = new IPEndPoint(address, int.Parse(this.txt_Port.Text.Trim()));

            try
            {
                socket.Bind(endPoint);
                Invoke(myRecMsg, "开启服务成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show($"开启服务失败{ex.Message },打开服务");
                return;
            }
            socket.Listen(10);
            threadListen = new Thread(ListenConnecting);
            threadListen.IsBackground = true;
            threadListen.Start();
            this.btn_StartServer.Enabled = false;
        }

3、监听事件,把连接到客户端加入字典DicSocket中,启用新线程ReceiveMsg进行接收数据传递

        //创建URL与Socket的这典集合
        Dictionary<string, Socket> DicSockt = new Dictionary<string, Socket>();        
        private void ListenConnecting()
        {
            while (true)
            {
                //一旦监听到一个客户端的连接,将会创建一个客户
               Socket socketClinet = socket.Accept();
                string client = socketCl
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值