服务端 -
1. 服务端创建一个线程负责侦听客户端连接请求(accept() 函数)然后进入死循环(等待 CTRL + C 的终止消息)
2. 当有连接接入服务端后,打印客户端连接信息,并将信息复制到自定义的客户端数据结构中,然后加入客户端链表
3. 创建新线程(基于当前连接的客户端)负责处理客户端发送的数据
4. 因为多线程的技术应用在当中,所以当处理数据的同时也能够侦听客户端的连接请求
客户端 -
1. 遍历保存 ”连接链表” 获得一个可用连接,向服务端发起连接请求,等待回应
2. 连接请求后进入死循环获取用户输入数据,检查数据,无误后向服务端发送
3. 等待服务端处理
4. 接收服务端处理后的数据(将用户的大写输入转换成小写)
5. 打印处理后的数据,返回 2
ps:这里遗留一个问题,出现在客户端上,有一个addrinfo的链表,不太明白这里面保存的时什么东西。
服务端代码 - http://my.csdn.net/my/code/detail/28455
客户端代码 - http://my.csdn.net/my/code/detail/28454
如果有朋友下载了资源想在自己PC上运行程序,需要重新编译 服务端与客户端代码,并且在客户端上的修改IP地址为你自己的IP。
服务端压缩文件里面包含了一份新版本的我自己的list文件,也需要添加到工程中进行编译,如果发现问题请予以指正。