Linux 网络应用技术姓名:李元池 , 宋权 学 号:班 级:14 软工云计算 4 班 一: 设计思想: 创建通信套接字,进行对于客户端的监听,定义的有一个全局变量 int user_fd[MAX_USER];用来保存已经连接的用户的通信套接字;用户选择群聊的时候服务器会把接收到的信息发送给除了发送此消息的其他所有客 户 端 , 用 户 选 择 私 聊 则 通 过 服 务 器 端 定 义 的 结 构 体 struct user_mess { char message [ 100 ] ;char name[20];int k;}User[10];中的 k;来推断次编号对应的客户套接字,把此消息发送给指定的客户端
利用 shocket 套接字进行对于信息的传递,同时 shocket 套接字也是一种对于信息识别的推断依据,根据套接字可以找到接受的信息的意图,并且进行处理相应的信息,而且服务器还可以通过对于 shocket 的识别,然后推断哪个客户发送的信息,然后进行转发个其他客户端,进而实现客户与客户之间的通信
服务器相当于一个对于客户端发送的信息进行转发的平台,当客户端的信息发送过来后,服务器会自动通过套接字将信息在全部转发给其他的客户,实现客户端之间的通信二:流程图三: 分工合作李元池负责服务器端的编写,宋权负责客户端的编写,在写的过程中商量好用于收发消息的结构体保持一致
四:运行步骤及注意事项:在服务器开启监听服务之后,启用客户端段进行连接,服务器程序编译:gcc 2_sever
c –o sever –lpthread运行:
/s客户端程序编译:gcc 1_client
c –o client –lpthread运行:
/c+服务器的 IP+端口号+你的昵称目前代码存在的问题有:用户昵称重复处理;异常退出处理;五:运行截图开启一个服务器和三个客户端昵称分别为:李元池,更