A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 资建文 中级黑马   /  2012-8-30 08:49  /  2092 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

------相关类-----
IPAddress类:包含了一个IP地址
IPEndPoint类:包含了一对IP地址和端口号
------方法----
Socket():创建一个Socket
Bind():绑定一个本地的IP和端口号(IPEndPoint)
Listen():让SOcket侦听传入的连接尝试,并制定侦听队列容量
Connect():初始化与另一个Socket的连接
Accept():接收连续并返回一个新的socket
Send():输出数据到Socket
Receive():从Socket中读取数据
Close():关闭Socket(销毁数据)

1 个回复

正序浏览
本帖最后由 许庭洲 于 2012-8-30 08:56 编辑

【分享】服务器启动并监听客户端请求:

   //通过IP地址和端口创建网络节点对象
   IPAddress address=IPAddress.Parse(服务器Ip地址);
   IPEndPoint endpoint=new IPEndPoint(address,int.Parse(端口));

   //创建一个套接字(工具,固定代码)
   Socket socketWatch =new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

   //将套接字绑定到唯一的网络节点上
   socketWatch.Bind(endpoint);

   //设置监听队列长度
   socketWatch.Listen(10);

   //通过线程为每一个与之连接的客服端分配一个Socket对象:
   Thread threadWatch=new Thread(WatchConnecting);//创建负责监听的线程,并传入监听方法
   threadWatch.IsBackground=true;//设置为后台线程
   threadWatch.Start();//开启线程

   //创建监听方法
   void WatchConnecting()
   {
     while(true)
     {

       //开始监听,一旦监听到客户端的连接请求,就分配一个与之对应的通信套接字
       Socket sokConnection=socketWatch.Accept();

       MessageBox.showDialog("有新的客户端成功连接!");
     }

   }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马