C#服务端与客户端连接实现浅谈

C#服务端与客户端连接实现的由来:那么既然一个服务器端口可以应对多个客户端连接,那么接下来我们就看一下,如何让多个客户端与服务端连接。如同我们上面所说的,一个TcpClient就是一个Socket,所以我们只要创建多个TcpClient,然后再调用Connect()方法就可以了:

湖北ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

C#服务端与客户端连接实现实例:

 
 
 
  1. class Client {  
  2. static void Main(string[] args) {  
  3.  
  4. Console.WriteLine("Client Running ...");  
  5. TcpClient client;  
  6. //C#服务端与客户端连接实现  
  7. for (int i = 0; i <= 2; i++) {  
  8. try {  
  9. client = new TcpClient();  
  10. client.Connect("localhost", 8500); // 与服务器连接  
  11. } catch (Exception ex) {  
  12. Console.WriteLine(ex.Message);  
  13. return;  
  14. }  
  15. //C#服务端与客户端连接实现  
  16. // 打印连接到的服务端信息  
  17. Console.WriteLine("Server Connected!{0} --> {1}",  
  18. client.Client.LocalEndPoint, client.Client.RemoteEndPoint);  
  19. }     
  20.  
  21. // 按Q退出  
  22. }//C#服务端与客户端连接实现  
  23. }  

上面代码最重要的就是client = new TcpClient()这句,如果你将这个声明放到循环外面,再循环的第二趟就会发生异常,原因很显然:一个TcpClient对象对应一个Socket,一个Socket对应着一个端口,如果不使用new操作符重新创建对象,那么就相当于使用一个已经与服务端建立了连接的端口再次与远程建立连接。

此时,如果在“命令提示符”运行“netstat -a”,则会看到类似下面的C#服务端与客户端连接实现实例的输出:

 
 
 
  1. TCPjimmy:8500 0.0.0.0:0         LISTENING  
  2. TCPjimmy:8500 localhost:10282 ESTABLISHED  
  3. TCPjimmy:8500 localhost:10283 ESTABLISHED  
  4. TCPjimmy:8500 localhost:10284 ESTABLISHED  
  5. TCPjimmy:10282localhost:8500  ESTABLISHED  
  6. TCPjimmy:10283localhost:8500  ESTABLISHED  
  7. TCPjimmy:10284localhost:8500  ESTABLISHED 

可以看到创建了三个连接对,并且8500端口持续保持侦听状态,从这里以及上面我们可以推断出TcpListener的Start()方法是一个异步方法。

C#服务端与客户端连接实现的情况就向你介绍到这里,希望对你了解和学习C#服务端与客户端连接实现有所帮助。

【编辑推荐】

  1. C#异步传输字符串客户端的实现
  2. C#网络编程基本概念TCP浅析
  3. C#网络聊天程序三大模式浅析
  4. C#服务端端口侦听浅析
  5. C#服务端与客户端连接实现浅析

文章名称:C#服务端与客户端连接实现浅谈
本文URL:http://www.gawzjz.com/qtweb2/news9/1209.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联