基本信息
源码名称:CSharp_Socket通信(含服务器端以及客户端)
源码大小:0.11M
文件格式:.rar
开发语言:C#
更新时间:2020-07-08
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

C# socket通讯实例,客户端和服务端怎么使用

服务端:


        Socket socketSend;

        private void Start_View_Click(object sender, RoutedEventArgs e)

        {

            try

            {

                //点击开始监听时 在服务端创建一个负责监听IP和端口号的Socket

                Socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

                IPAddress ip = IPAddress.Any;//创建对象端口

                IPEndPoint point = new IPEndPoint(ip, Convert.ToInt32(Port.Text));

                socketWatch.Bind(point);//绑定端口号

                ShowMsg("监听成功!");

                socketWatch.Listen(10);//设置监听

                                       //创建监听线程

                Thread thread = new Thread(Listen);

                thread.IsBackground = true;

                thread.Start(socketWatch);

            }

            catch (Exception ex)

            {

                ShowMsg(ex.Message);

            }

        }


        void Listen(object o)

        {

            try

            {

                Socket socketWatch = o as Socket;

                while (true)

                {

                    socketSend = socketWatch.Accept();//等待接收客户端连接

                    ShowMsg(socketSend.RemoteEndPoint.ToString() ":" "连接成功!");

                    //开启一个新线程,执行接收消息方法

                    Thread r_thread = new Thread(Received);

                    r_thread.IsBackground = true;

                    r_thread.Start(socketSend);

                }

            }

            catch (Exception e)

            {

                ShowMsg(e.Message);

            }

        }

客户端



Socket socketSend;


        private void Start_View_Click(object sender, RoutedEventArgs e)

        {

            try

            {

                //创建客户端Socket,获得远程ip和端口号

                socketSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

                IPAddress ip = IPAddress.Parse(IP.Text);

                IPEndPoint point = new IPEndPoint(ip, Convert.ToInt32(Port.Text));


                socketSend.Connect(point);

                socketSend.ReceiveTimeout = 60*1000;//接收超时时间

                ShowMsg("连接成功!");

                //开启新的线程,不停的接收服务器发来的消息

                Thread c_thread = new Thread(Received);

                c_thread.IsBackground = true;

                c_thread.Start();

            }

            catch (Exception)

            {

                ShowMsg("IP或者端口号错误...");

            }

        }