首页 > 其他 > 详细

详解C#中Socket通信(一):实现连接

时间:2014-08-06 17:43:21      阅读:297      评论:0      收藏:0      [点我收藏+]

第一步:实现连接

客户端连接代码:

private void connect2Server()

{

Socket clientSocket;

//服务器地址

IPAddress ip = IPAddress.Parse("192.168.1.136");

//服务器节点 IPEndPoint iep = new IPEndPoint(ip, 9004);

//通信实例 clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

//连接 clientSocket.Connect(iep);

}

客户端通过Socket连接到服务器的9004端口。

 

服务器接受连接代码:

public void StartListening()

{

//获取本机IP地址

Socket serverSocket; IPHostEntry ipHost = Dns.GetHostEntry(Dns.GetHostName()); HostIP = ipHost.AddressList[0];

//开关控制

bool flag=true; try {     IPEndPoint iep = new IPEndPoint(HostIP, 9004);

    serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);     serverSocket.Bind(iep);

    //最大100个     serverSocket.Listen(100);                 //如果有客户端连接进来,就加入队列                    while (flag)     {                             //阻塞侦听是否有客户端连接

        clientSocket = serverSocket.Accept();         if (clientSocket != null)         {                                     string str = clientSocket.RemoteEndPoint.ToString();             string[] Ipstr = str.Split(‘:‘);

            string clientIp = Ipstr[0];

            MessageBox("客户端:"+clientIp+"连接到服务器");

        }

    } } catch (Exception e) {               

    MessageBox.show("连接错误:"+e.message); }

}

服务器启动Socket,侦听是否有客户端进入,如果有的话,加入队列。通常情况下,为了使客户端和服务器对其它事件进行响应,把它们放置在独立线程进行。类似下面的代码:

Thread _createServer;

_createServer = new Thread(new ThreadStart(StartListening)); _createServer.IsBackground = true; _createServer.Start();

详解C#中Socket通信(一):实现连接,布布扣,bubuko.com

详解C#中Socket通信(一):实现连接

原文:http://www.cnblogs.com/wanan8023wl/p/3894591.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!