服务器与客户端的应用程序
一、实验要求
(1)设计程序,分别构建通信的两端:服务器端和客户端应用程序,套接字类型为面向连接的Socket,自己构建双方的应答模式,实现双方的数据的发送和接收(S发给C,C发给S)。
(2)服务端程序能响应单个或任意多个客户端连接请求;服务端能向单个客户发送消息,支持群发消息给所有客户端。
(3)通信的双方具备异常响应功能,包括对方异常退出的处理。如果客户端退出,服务器有响应;反之亦然。
(4)Client-Server通信效果的图片说明。
二、实验目的
(1)理解程序的线程、Socket的基本动作(Accept、Connect、Send、Receive)等。
(2)后续的实验将以此为基础拓展。
三、实验思路
(1)为了方便调试,将服务器的设计和客户端的设计放在同一个解决方案中。
(2)服务器的设计概括:
a) ServerForm 类:界面设计、监听器、消息处理等。
b) User 类:每一个User对象对应一个客户端,实时监听并接收客户端的消息。
c) CC 静态类:CC类中有转发消息,存储用户列表,发送消息等静态方法。
(3)客户端的设计概括:
a) ClientForm 类:界面设计、监听器、消息处理等。
四、应用界面
(1)服务器界面:
(2)客户端界面(未登录):
(3)客户端界面(登陆):
(4)服务端与客户端互相通信:
(5)服务器给多个客户端发送消息:
(6)客户端退出:
源码:
由于实验二是基于实验一的拓展,故在此不再展示源码。