日期:2014-05-19  浏览次数:20902 次

关于TCPListener和socket的bind()方法的问题
我现在了解到C#编写socket服务端有两种方法,一种是
Socket   s   =   new   Socket(AddressFamily.InterNetwork,   SocketType.Stream,               ProtocolType.Tcp);//创建一个Socket类
s.Bind(2000);//绑定2000端口
s.Listen(0);//开始监听

一种是
tcpListener   =   new   TcpListener   (   2000   )   ;   //开始侦听  
tcpListener.Start   (   )   ;  
//返回可以用以处理连接的Socket实例  
socketForClient   =   tcpListener.AcceptSocket   (   )   ;  

这两种方法效率上有什么区别么?谢谢了!


------解决方案--------------------
tcpListener 继承了 socket类的大部份功能,而且在此基础上增加了一些功能,效率方面我没有比较过, 不过还是推荐使用tcpListener和tcpClient来进行Tcp的连接