基于TCP/IP协议的聊天室

1|0C语言项目-聊天室

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

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

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

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


__EOF__

本文作者若达萨罗
本文链接https://www.cnblogs.com/bcc0729/p/17715020.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   若达萨罗  阅读(125)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示