WEB开发网
开发学院软件开发C语言 C#网络编程(基本概念和操作) - Part.1 阅读

C#网络编程(基本概念和操作) - Part.1

 2009-03-26 08:20:08 来源:WEB开发网   
核心提示: 上面的代码中,我们开启了对8500端口的侦听,C#网络编程(基本概念和操作) - Part.1(7),在运行了上面的程序之后,然后打开“命令提示符”,然后再调用Connect()方法,在Connect()方法中传入远程服务器地址和端口号,输入“netst

上面的代码中,我们开启了对8500端口的侦听。在运行了上面的程序之后,然后打开“命令提示符”,输入“netstat-a”,可以看到计算机器中所有打开的端口的状态。可以从中找到8500端口,看到它的状态是LISTENING,这说明它已经开始了侦听:

  TCP    jimmy:1030            
0.0.0.0:0              LISTENING
  TCP    jimmy:3603            
0.0.0.0:0              LISTENING
  TCP    jimmy:8500            
0.0.0.0:0              LISTENING
  TCP    jimmy:netbios-ssn     
0.0.0.0:0              LISTENING

在打开了对端口的侦听以后,服务端必须通过某种方式进行阻塞(比如Console.ReadKey()),使得程序不能够因为运行结束而退出。否则就无法使用“netstat -a”看到端口的连接状态,因为程序已经退出,连接会自然中断,再运行“netstat -a”当然就不会显示端口了。所以程序最后按“Q”退出那段代码是必要的,下面的每段程序都会含有这个代码段,但为了节省空间,我都省略掉了。

2.客户端与服务端连接

2.1单一客户端与服务端连接

当服务器开始对端口侦听之后,便可以创建客户端与它建立连接。这一步是通过在客户端创建一个TcpClient的类型实例完成。每创建一个新的TcpClient便相当于创建了一个新的套接字Socket去与服务端通信,.Net会自动为这个套接字分配一个端口号,上面说过,TcpClient类不过是对Socket进行了一个包装。创建TcpClient类型实例时,可以在构造函数中指定远程服务器的地址和端口号。这样在创建的同时,就会向远程服务端发送一个连接请求(“握手”),一旦成功,则两者间的连接就建立起来了。也可以使用重载的无参数构造函数创建对象,然后再调用Connect()方法,在Connect()方法中传入远程服务器地址和端口号,来与服务器建立连接。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:网络编程 基本 概念

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接