这篇文章将为大家详细讲解有关C#中怎么实现服务端与客户端连接,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
C#服务端与客户端连接实现实例:
class Client { static void Main(string[] args) { Console.WriteLine("Client Running ..."); TcpClient client; //C#服务端与客户端连接实现 for (int i = 0; i <= 2; i++) { try { client = new TcpClient(); client.Connect("localhost", 8500); // 与服务器连接 } catch (Exception ex) { Console.WriteLine(ex.Message); return; } //C#服务端与客户端连接实现 // 打印连接到的服务端信息 Console.WriteLine("Server Connected!{0} --> {1}", client.Client.LocalEndPoint, client.Client.RemoteEndPoint); } // 按Q退出 }//C#服务端与客户端连接实现 }
上面代码最重要的就是client = new TcpClient()这句,如果你将这个声明放到循环外面,再循环的第二趟就会发生异常,原因很显然:一个TcpClient对象对应一个Socket,一个Socket对应着一个端口,如果不使用new操作符重新创建对象,那么就相当于使用一个已经与服务端建立了连接的端口再次与远程建立连接。
此时,如果在“命令提示符”运行“netstat -a”,则会看到类似下面的C#服务端与客户端连接实现实例的输出:
TCPjimmy:8500 0.0.0.0:0 LISTENING TCPjimmy:8500 localhost:10282 ESTABLISHED TCPjimmy:8500 localhost:10283 ESTABLISHED TCPjimmy:8500 localhost:10284 ESTABLISHED TCPjimmy:10282localhost:8500 ESTABLISHED TCPjimmy:10283localhost:8500 ESTABLISHED TCPjimmy:10284localhost:8500 ESTABLISHED
可以看到创建了三个连接对,并且8500端口持续保持侦听状态,从这里以及上面我们可以推断出TcpListener的Start()方法是一个异步方法。
关于C#中怎么实现服务端与客户端连接就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。