套接字网络实验报告.doc

套接字网络实验报告.doc

ID:57675430

大小:153.50 KB

页数:5页

时间:2020-08-31

套接字网络实验报告.doc_第1页
套接字网络实验报告.doc_第2页
套接字网络实验报告.doc_第3页
套接字网络实验报告.doc_第4页
套接字网络实验报告.doc_第5页
资源描述:

《套接字网络实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机网络实验报告年级2009级学号姓名吴紫薇成绩专业09计科1实验地点主楼502指导教师蔡红云实验项目套接字实验日期2012年5月一、实验目的1、了解网络通信原理。2、实现基于TCP或UDP的网络通信数据传输服务。3、掌握客户端/服务器程序设计。4、掌握Socket编程的原理和实现方法。二、实验原理1、套接字(socket)原理套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端面点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程要通过Internet进行通信,至

2、少需要一对套接字,其中一个运行在客户端,称之为ClientSocket,另一个运行于服务器端面,称为ServerSocket。根据连接启动的方式以及本地要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听、客户端请求、连接确认。服务器监听是指服务端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。客户端请求是由客户端的套接字提出连接请求,要连接的目标是服务器端套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器套接字的地址和端口号,然后再向服务器端套接字提出连接请求。连接

3、确认是当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的信息发送给客户端,一旦客户端确认了此连接,连接即可建立。而服务器端继续处于监听状态,继续接收其他客户端的连接请求。2、套接字通信原理图图(1)  套接字工作流程图3、套接字通信工作过程(1)、建立连接服务器(ServerSocket)监听指定端口,看是否有客户端的连接请求;客户端(ClientServer)创建套接字并通过指定端口请求与服务器建立连接。服务器收到连接请求后,创建一个套接字与客户端建立连接

4、。(2)、数据通信客户端通过套接字把请求发送给服务器,服务器处理请求并把结果通过套接字送回。(3)、断开连接服务器和客户端关闭套接字。三、实验要求服务器:1、打开一通信通道并声明它愿意在某一个IP地址及某一端口上接收客户端请求。2、等待客户请求到达该端口。3、接收到服务请求,处理该请求并发送应答信号。4、返回第二步,继续等待客户请求。5、关闭服务器。客户端:1、打开一通信通道,并连接到服务器所在主机的指定端口。2、向服务器发送服务请求报文,等待并接收应答,继续提出请求。3、请求结束后关闭通信通道并终止。通过以上方式实现客户端与服务

5、器之间的通讯。四、实验结果(程序)分析A、套接字程序所需的函数:1、创建套接字——socket()ServerSocket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);功能:使用前创建一个新的套接字2、指定本地地址——bind()IPAddressip=IPAddress.Any;//提供一个IP地址,指示服务器应侦听所有网络接口上的客户端活动ServerInfo=newIPEndPoint(ip,this.GetPort());

6、//GetPort()获得端口号ServerSocket.Bind(ServerInfo);//将SOCKET接口和IP端口绑定功能:将IP地址与端口号绑定到socket上。3、监听连接——listen()ServerSocket.Listen(10);//开始监听,并且挂起数为10功能:用于将socket置于侦听状态,表明它愿意接收连接。4、建立套接字连接——connect()和accept()privatevoidCmdEnter_Click(objectsender,EventArgse){//设定服务端IP和端口信息,这里

7、的IP可以是127.0.0.1,可以是本机局域网IP,也可以是本机网络IPServerInfo=newIPEndPoint(IPAddress.Parse(this.ServerIP.Text),Convert.ToInt32(this.ServerPort.Text));try{ClientSocket.Connect(ServerInfo);//客户端连接服务端指定IP端口,SocketClientSocket.Send(Encoding.Unicode.GetBytes("好友:"+this.UserName.Text+"进

8、来了哦!!!"+DateTime.Now.ToString()+""));//BeginReceive:开始从连接的Socket异步读取数据。接收来自服务器,其他客户端转发来的信息//AsyncCallback引用在异步操作完成时调用的回调方法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。