TCP套接字编程—网络编程综合性实验介绍(共8页).doc
《TCP套接字编程—网络编程综合性实验介绍(共8页).doc》由会员分享,可在线阅读,更多相关《TCP套接字编程—网络编程综合性实验介绍(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上河南师范大学综合性、设计性实验项目简介学院名称(公章):软件学院2012-2013学年第 一 学期 填表日期:2012年 9 月 18 日实验课程名称网络编程实验项目名称TCP套接字编程实验项目性质1、综合性 2、设计性主讲教师刘尚旺开课年级2010开课专业网络工程技术实验地点过街楼实验室开课日期2012年9月10日至2013年1月16日开课时间10月18日上午8:00-9:40、下午16:4018:2010月25日下午16:4018:2011月1日下午16:4018:20实验项目简介: 该实验的主要目的要求是:1.掌握服务器端程序设计的步骤: (1)使用socket
2、()函数创建套接字; (2)将创建的套接字绑定到指定的地址结构; (3)listen()函数设置套接字为侦听模式,使服务器处于打开状态; (4)接受客户端的连接请求,建立连接; (5)接收、应答客户端的数据请求; (6)终止连接。2.掌握客户端程序设计的步骤: (1)使用socket()函数创建套接字; (2)调用connect()函数建立一个与TCP服务器的连接; (3)发送数据请求,接收服务器的数据应答; (4)终止连接。3.实现TCP套接字编程的基本函数。4.了解服务器的3种异常情况。本实验综合运用socket()等TCP套接字编程的基本函数,服务器端程序设计的步骤、客户端程序设计的步骤
3、、socket()等TCP套接字编程的基本函数和服务器的3种异常情况等均会在本实验中有所体现,因此本实验具有一定的综合性。本实验基于Linux平台下的C语言编程实现,主要培养学生综合运用所学知识和实验方法、实验技能,提高分析、解决实际问题的能力。一、 实验目的l 运用socket()等TCP套接字编程的基本函数,设计客户端和服务器端,了解单用用户与服务器的连接和数据处理。二、 实验要求l 认真阅读和掌握本实验的相关知识。l 上机编写并运行本程序。l 保存和打印程序的运行结果,并结合程序进行分析。三、 实验内容1. 服务器端程序设计的步骤: (1)使用socket()函数创建套接字; (2)将创
4、建的套接字绑定到指定的地址结构; (3)listen()函数设置套接字为侦听模式,使服务器处于打开状态; (4)接受客户端的连接请求,建立连接; (5)接收客户端的数据请求;并显示客户端的IP地址和端口号。(6)接受客户端传来的字符串,并进行大小写转换,然后传给客户。 (6)终止连接。2客户端程序设计的步骤: (1)使用socket()函数创建套接字; (2)调用connect()函数建立一个与TCP服务器的连接;(3)循环从命令行读入一行字符串,并传递给服务器,由服务器对字符串进行大小写转换,并将结果返回给客户程序。 (4)客户端程序显示转换后的字符串。 (4)终止连接。客户端程序如下:#i
5、nclude#include#include#include#include#include#include#include#define PORT 1546#define MAXDATASIZE 1024void process(FILE *fp,int sockfd);/声明函数process;char *getMessage(char *sendline,int len,FILE *fp);/主函数int main(int argc,char *argv) int sockfd;/定义文件描述符; struct hostent *he; struct sockaddr_in server
6、; if(argc!=2) printf(USAGE:%s n,argv0); exit(1); if(he=gethostbyname(argv1)=NULL) perror(gethostbyname() error.n); exit(1); /*在利用套接字进行网络通信时,进程要做的第一件事就是调用socket(),产生一个套接字,并指明要使用的通信协议。函数原型 int socket(int family,int type int protocol);scoket()返回一文件描述符,该文件描述符是指通信信道的末端。如果调用失败,就返回1。参数AF_INET:TCP/IP协议集合,SO
7、CK_STREAM:提供虚电路服务的流套接字。参数0,表示使用默认协议。*/ if(sockfd=socket(AF_INET,SOCK_STREAM,0)=-1) perror(socket() error.n); exit(1); /判断语句,调用socket函数,将返回值赋给socket; bzero(&server,sizeof(server); server.sin_family=AF_INET; server.sin_port=htons(PORT); server.sin_addr=*(struct in_addr *)he-h_addr);/在调用connect()函数前,客户
8、应用程序应帮定套接字地址/*客户进程在用socket()产生套接字后,用connect()将该套接字与服务器套接字相连接。*/ if(connect(sockfd,(struct sockaddr *)&server,sizeof(server)=-1) perror(connect() error.n); exit(1); process(stdin,sockfd);/调用process()函数; close(sockfd);/关闭套接字; return 0;void process(FILE *fp,int sockfd) char sendlineMAXDATASIZE+1;/ 定义客户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCP 套接 编程 网络 综合性 实验 介绍
限制150内