1 实验目的1.理解和掌握软件工程的设计理念与设计方法
2.掌握某种数据库管理以及可视化编程环境,掌握基于某种编程语言的信息系统或网络通信软件或某种通用总线接口的通信软件的开发设计方法
2 实验题目及要求题目: TCP 服务器与客户端软件本题目要求使用 TCP 协议实现若干台电脑之间的通信
1.任何一台电脑都具有收发信息功能
2.具有记录查询通信纪录的功能
3.有图形化界面
服务器可同时与多个客户端通信
分别实现服务器和客户端的程序
3 实验系统设计3
1 需求分析:本次实验的题目是 TCP 服务器与客户端软件,本题目要求使用 TCP 协议实现若干台电脑之间的通信
软件针对局域网内部用户,实现用户间的即时通信
需要分别实现服务器端和客户端的软件设计,并有图形化界面
服务器端负责监听用户连接请求,负责连接数据库存储用户信息,负责发送给用户好友信息,负责发送心跳报文检查用户在线状态并即时让用户更新好友在新信息
客户端发起主动连接,向服务器请求登录或者注册
客户端可以修改昵称,可以加已知用户为好友(类似于 MSN 的好友添加功能)
客户端之间可以发起 P2P 模式的聊天,可以传送文件
2 主要理论依据:1
TCP——传输控制协议:TCP协议提供的是可靠的、面对连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程
TCP提供端到端、全双工通信;采纳字节流方式,假如字节流太长,将其分段;提供紧急数据传送功能
TCP 要求在发送数据之前必须打开连接
服务器应用程序必须执行一个称作被动打开(passive open)的操作,以利用一个已知的端口号创建一个链接,这是,服务器并不是对网络进行呼叫,而是侦听并等待引入的请求
客户应用程序必须执行一个主动打开(active open),为此,它向服务器应用程序发送一个同步序列号(SYN)以标识连接