- 59
- 0
- 约5.43千字
- 约 11页
- 2019-03-10 发布于山东
- 举报
实验1.基于TCP的网络通讯程序设计
第 PAGE \* Arabic \* MERGEFORMAT 0 页
本科学生实验(实践)报告
院 系:教育信息技术学院
实验课程:网络通讯程序设计
实验项目:1、基于TCP的网络程序设计
指导老师:王洪江
开课时间:2016 ? 2017 年度第 二 学期
专 业:教育技术学
班 级: 2015级1班
华南师范大学教务处
华南师范大学实验报告
学生姓名:张怡文 学号:20152801022
专业: 教育技术学 年级:2015级
班级:1班(师范)
课程名称:网络通讯程序设计
实验项目:1、基于TCP的网络程序设计
实验类型:验证??设计 综合实验时间:2017年9月11日
实验指导老师:王洪江?????实验评分:
实验1 基于TCP的网络程序设计
实验目的
1.了解基于TCP的流式套接字的程序设计流程;
2.完成客户服务器程序设计。
实验设计方案
实验原理
课本14.1 Socket基本编程,和课本14.2 服务器与单客户的连接处理。
实验要求
认真阅读和掌握本实验的相关知识点;
上机编写并运行本程序;
保存和打印出程序的运行结果,并结合程序进行分析。
实验内容
在实验室的虚拟机上的LINUX系统下,敲入课本14.1 Socket基本编程和14.2 服务器与单客户的连接处理的代码,编译并运行,查看结果,截图。
实践代码
(1)课本14.1Socket基本编程代码如图1到图4所示;
图1 Socket基本编程的服务器代码部分(上)
图2 Socket基本编程的服务器代码部分(下)
图3 Socket基本编程的客户端代码部分(上)
图4 Socket基本编程的客户端代码部分(下)
(2)课本14.2 服务器与单客户的连接处理的客户端的代码如下:
#includeunistd.h
#includesys/socket.h
#includenetinet/in.h
#includestdio.h
#includestring.h
#includestrings.h
#includestdlib.h
#includenetdb.h
#define PORT 1234
#define MAXDATASIZE 1000
int main(int argc,char *argv[])
{
int fd,numbytes;
char buf[MAXDATASIZE];
struct hostent *he;
struct sockaddr_in server;
int i=1;
if(argc!=2){
printf(Usage:%sIP address\n,argv[0]);
exit(-1);
}
if((he=gethostbyname(argv[1]))==NULL){
perror(gethostbyname error.);
exit(-1);
}
if((fd=socket(AF_INET,SOCK_STREAM,0))==-1){
perror(Create socket failed);
exit(1);
}
bzero(server,sizeof(server));
server.sin_family=AF_INET;
server.sin_port=htons(PORT);
server.sin_addr=*((struct in_addr *)he-h_addr);
if(connect(fd,(struct sockaddr *)server,sizeof(struct sockaddr))==-1)
{
perror(Bind error.);
exit(1);
}
if((numbytes=recv(fd,buf,MAXDATASIZE,0))==-1)
{
perror(recv error.);
exit(1);
}
buf[numbytes]=\0;
printf(Server Message:%s\n,buf);
while(i){
printf(Input your message(maxseze is 100):);
scanf(%s,buf);
if(strlen(buf)1) i=0;
if(
原创力文档

文档评论(0)