基于TCP/IP协议的聊天室

发布时间 2023-09-19 16:28:31作者: 若达萨罗

C语言项目-聊天室

  1. 开发环境:linux虚拟机内,Ubuntu。
  2. IDE:Sublime-Text
  3. 编程语言:c语言
  4. 最终运行环境:
    • 客户端:Ubuntu
    • 服务端:阿里云服务器 ECS

所用的知识:系统io,数组,指针,条件判断,循环,函数,宏定义,结构体,线程,单链表,socket套接字,TCP/IP协议

设计意图:多人可以互相聊天,上传/下载文件
image

代码历程:先编写服务端,服务端相当于作为一个中转站,对客户端发来的请求进行不同的处理,因为涉及到的是多个用户,所以用的是多线程并发服务器,服务器监听用户连接,每当有用户连接,服务器就存储它的套接字。对于上传和下载时,线程取消,不然会出错。完事后再重启线程,上传和下载就是读写二进制文件,把客户端上传的文件放入到服务端的目录文件下,等待用户下载,即发送数据给用户。客户端就是用户使用的,所以得有相对舒适的用户界面选择功能,客户端传送请求给服务端,服务端接收请求处理,把处理的结果返还给客户端。网络编程这块并没有想象的那么运用的好,还要继续加强练习。