搜索
您的当前位置:首页正文

实现基于TCP套接字的简单的服务器与客户端通信实验报告

2021-12-18 来源:易榕旅游


计算机科学与技术系

实验(项目)报告

一、基本信息

实验(项目)名称 实现基于TCP套接字的简单的服务器与客户端通信 课程名称 学生专业 学生班级 学生姓名 指导教师 二、目的与要求

目的:

通过实验掌握Linux环境下基于TCP套接字编程的基本步骤和方法。 要求:

1.掌握网络编程的基本框架; 2.了解客户端、服务器的基本概念;

3.掌握TCP套接字编程的基本流程及程序的调试方法。 三、完成实验(项目)过程和效果

内容:

1.程序结构设计; 2.程序数据设计; 3.程序基本流程; 4.编码、调试及运行。

Linux系统编程 信息工程 14201 黎子涵 董祥千 学生层次 本科 学生年级 2014级 学生学号 14310920101 完成日期 2016年12月25日 报告成绩

server代码:

client代码:

步骤: 1.程序结构设计

1)服务器端结构

先启动,进行socket、bind、listen、accept、一系列准备工作,然后如果没有建立连接,则服务器处于阻塞状态,等待客户端连接。

2)客户端结构。

客户端启动后,首先向服务器端发起建立连接的请求,得到同意后,连接建立成功,客户端和服务器端开始进行数据通信,客户机完成通信工程后释放链接,关闭套接字。

2.程序数据设计

1)服务器端相关数据:

监听套接字描述符、连接套接字描述符int sockfd,client_fd; 服务器端地址struct sockaddr_in my_addr 客户端地址struct sockaddr_in remote_addr 2)客户端相关数据

套接字描述符int sockfd;

服务器端地址结构struct sockaddr_in serv_addr; 保存接收到的数据char buf[MAXDATASIZE]; 接收的数据字符int recvbytes;

3.程序基本流程图。

四、知识应用以及经验总结

1.编写UDP通信程序?

基于UDP协议进行通信不同于TCP,UDP套接字通讯方式是一种面向无连接的通信工程,通信双方不必建立连接即三次握手。指定IP即可通信,但不可靠。

2.监听套接字和连接套接字的区别?

监听套接字,用来监听一个端口,当有一个客户与服务器连接时,它使用这个一个端口号,而此时这个端口号正与这个套接字关联。当然客户不知道套接字这些细节,它只知道一个地址和一个端口号。

连接套接字是当收到客户请求后,服务进程accept被唤醒,生成一个新的连接套接字,进行连接,服务器通过连接套接字与客户端进行数据的发送和接收。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top