实验指导书-实验07TCP_IPSocket编程

实验指导书-实验07TCP_IPSocket编程

ID:47541644

大小:123.00 KB

页数:9页

时间:2020-01-14

实验指导书-实验07TCP_IPSocket编程_第1页
实验指导书-实验07TCP_IPSocket编程_第2页
实验指导书-实验07TCP_IPSocket编程_第3页
实验指导书-实验07TCP_IPSocket编程_第4页
实验指导书-实验07TCP_IPSocket编程_第5页
资源描述:

《实验指导书-实验07TCP_IPSocket编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.实验七TCP/IPSocket编程一、实验题目  TCP/IPSocket编程 二、实验课时  6课时。 三、实验目的1、进一步掌握TCP及UDP协议的工作原理2、掌握socket编程的基本方法3、学习应用C语言与WinSock2进行简单的面向连接或无连接的网络程序设计,实现网络数据传输。或使用java语言编程实现。四、实验内容和要求 环境:WindowsXP,c++或java语言实现内容和方法:(1)分别编写基于TCP的socket程序服务端和客户端,要求客户端能发送消息到服务端,服务端再把此消息返回给客户端。

2、(2)在上述程序的基础上,实现客户端和服务端间的简易聊天功能,即服务端和客户端能依次从键盘输入文字信息并发送(要求在两台不同的电脑上进行)。(3)改用UDP实现此程序的功能。(4)使用netstat命令观察程序运行前后的端口变化情况并记录下来。以下内容可选做(注:可只用命令行字符界面实现):(5)实现服务端能同时连接多个客户端(6)服务端实现消息转发到任意一个客户端,设计通信协议,使得任意一个客户端都能通过服务端与另外任意一个联网客户端进行聊天。(7)实现任意两个用户之间的文件传输。附:实验原理1.SocketSo

3、cket,中文翻译成“套接字”。Socket是TCP/IP应用程序(比如InternetExplorer、CuteFTP)同底层的通信驱动程序(比如MODEM驱动程序)之间运行的TCP/IP驱动程序。word范文.Socket扮演的角色就是将应用程序同具体的TCP/IP协议隔离开来,使得应用程序不必了解TCP/IP的细节,就能实现数据传输。有了Socket,我们就可以在Internet上的两台计算机间传递任何数据了。高层协议,比如HTTP、FTP,都要通过TCP/IP提供的网络传输能力传输数据。2.WinsockW

4、indowsSocket,简称Winsock,WINSOCK是在Windows进行网络通信编程的API接口。编制底层网络应用程序通常要借助于网络数据通信编程接口,而在不同的操作系统中所提供的网络编程接口是有所不同的,如在MicrosoftWindows环境下的网络编程接口就是Windows套接字(WindowsSocket,简称Winsock)。3.关于使用套接字编程的一些基本概念(a)TCP/IP协议的地址结构为:structsockaddr_in{shortsin_family;/*AF_INET*/u_sho

5、rtsin_port;/*16位端口号,网络字节顺序*/structin_addrsin_addr;/*32位IP地址,网络字节顺序*/charsin_zero[8];/*保留*/}(b)套接字类型TCP/IP的socket提供下列三种类型套接字。流式套接字(SOCK_STREAM)提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复地发送,且按发送顺序接收。内设流量控制,避免数据流超限;数据被看作是字节流,无长度限制。文件传送协议(FTP)即使用流式套接字。数据报式套接字(SOCK_DGRAM)提供了一个无

6、连接服务。数据包以独立包形式被发送,不提供无错保证,数据可能丢失或重复,并且接收顺序混乱。网络文件系统(NFS)使用数据报式套接字。原始式套接字(SOCK_RAW)该接口允许对较低层协议,如IP、ICMP直接访问。常用于检验新的协议实现或访问现有服务中配置的新设备。(c)基本套接字系统调用为了更好地说明套接字编程原理,下面给出几个基本套接字系统调用说明。(1)创建套接字──socket()应用程序在使用套接字前,首先必须拥有一个套接字,系统调用socket()向应用程序提供创建套接字的手段,其调用格式如下:SOCK

7、ETsocket(intaf,inttype,intprotocol);该调用要接收三个参数:af、type、protocol。参数af指定通信发生的区域,UNIX系统支持的地址族有:AF_UNIX、AF_INET、AF_NS等,而DOS、WINDOWS中仅支持AF_INET,它是网际网区域。因此,地址族与协议族相同。参数type描述要建立的套接字的类型。参数protocol说明该套接字使用的特定协议,如果调用者不希望特别指定使用的协议,则置为0,使用默认的连接模式。根据这三个参数建立一个套接字,并将相应的资源分配

8、给它,同时返回一个整型套接字号。例如:word范文.首先我们建立一个m_socket的SOCKET句柄,接着调用socket()函数,函数返回值保存在m_socket中.我们使用AF_INET,SOCK_STREAM,IPPROTO_TCP三个参数.第一个表示地址族,AF_INET表示TCP/IP族,第二个表示服务类型,在WINSOCK2中,SOCKET支持

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

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

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