润宇软件
首 页 企业简介 项目案例 软件定制 行业软件 解决方案 企业动态 服务专区 客服中心
业务介绍:西安软件公司、软件开发、软件定制、软件外包
软件 方案 文章
  润宇软件 >> 新闻资讯  >> 解决方案

定制开发中使用Socket实现服务端和客户端通信

发布时间:2023/3/27  浏览次数:次  字体【    】

定制开发中使用Socket实现服务端和客户端通信

关键字:using System.Net; using.System.Sockets;
创建一个负责监听的Socket:Socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 第一个参数是IPV4,第二个为流式,TCP用流式,UDP用数式,第三个为协议类型
IP地址获取:IPAddress ip = IPAddress.Any; Any是指当前服务器的所有ip
端口获取:IPEndPoint point = new IPEndPoint(ip, Convert.ToInt32(txtPort.Text));这里获取的文本框里的端口。
将负责监听的Socket绑定IP地址和端口:socketWatch.Bind(point);
设置监听队列,某一时间段最大连接数:socketWatch.Listen(100);
这样一个Socket就创建好了。
下面是接受连接:
    //负责监听的Socket来接收客户端的连接
    while (true)
    {
        //负责跟客户端通信的Socket
        socketSend = socketWatch.Accept();
        //将远程连接的客户端的IP和Socket存入集合中
        dicSocket.Add(socketSend.RemoteEndPoint.ToString(), socketSend);
        //将远程连接的客户端的IP地址和端口号存储到下拉框中
        this.Invoke(new Action(addCbomDic));
                
        //连接成功
        this.Invoke(new Action<string>(ShowMsg), socketSend.RemoteEndPoint.ToString() + "连接成功");
        // ShowMsg(socketSend.RemoteEndPoint.ToString() + "连接成功");

        //接收客户端消息线程
        Task.Run(() => Recive(socketSend));
            
    }

  关闭本页
西部IT网合作伙伴 合作伙伴
陕西省 | 榆林 | 延安 | 铜川 | 渭南 | 商洛 | 宝鸡 | 汉中 | 安康 | 咸阳
网站首页 | 关于我们 | 售后服务 | 项目合同 | 查看留言 | 在线留言 | 客服中心
© 版权所有:西安润宇软件科技有限公司 
公司地址:西安市丝路国际创意梦工厂4号楼 联系电话:029-87878512 手机:13468700578 联系人:李先生
Copyright ® 2009-2020 RunYusoft.com Inc. All Rights Reserved 
技术支持:西安润宇软件科技有限公司  陕ICP备11000720号