C语言项目-聊天室
- 开发环境:linux虚拟机内,Ubuntu。
- IDE:Sublime-Text
- 编程语言:c语言
- 最终运行环境:
- 客户端:Ubuntu
- 服务端:阿里云服务器 ECS
所用的知识:系统io,数组,指针,条件判断,循环,函数,宏定义,结构体,线程,单链表,socket套接字,TCP/IP协议
设计意图:多人可以互相聊天,上传/下载文件
代码历程:先编写服务端,服务端相当于作为一个中转站,对客户端发来的请求进行不同的处理,因为涉及到的是多个用户,所以用的是多线程并发服务器,服务器监听用户连接,每当有用户连接,服务器就存储它的套接字。对于上传和下载时,线程取消,不然会出错。完事后再重启线程,上传和下载就是读写二进制文件,把客户端上传的文件放入到服务端的目录文件下,等待用户下载,即发送数据给用户。客户端就是用户使用的,所以得有相对舒适的用户界面选择功能,客户端传送请求给服务端,服务端接收请求处理,把处理的结果返还给客户端。网络编程这块并没有想象的那么运用的好,还要继续加强练习。