100分求解 聊天室服务器处理思路
聊天室开发求思路:
需求:具有传输文件、文字、语音等功能的聊天室
服务器采用iocp, 只具有中转功能。
客户端只允许同事一个客户端通信(文字、语音、传输文件)
我想到的思路:
1. 客户端有3种类型的套接字:文字、语音、传输文件三种,(那么就再增加一种套接字)
2. 连接的长短:文字心跳作为长连接, 而语音、传输文件则为短连接。
遇到的困难:
(1) 套接字分为3类 涉及的合理不?不合理,如何改进
(2) 连接分为长短,文字心跳是长连接, 当客户1想和客户2进行语音,前提:长连接已经连接好了。
点击请求后,如果客户2接受,那么 它们之间的短连接开始建立: 客户1的视频套接字去连接服务器,
客户2的视频套接字去连接服务器。 服务器做为中转, 我处理的合理不? 如果不合理。如何改进。
(3) 是对(2) 的补充! 客户1请求视频的时候, 发送包给服务器,依然是通过 “文字心跳”连接,
由这个连接去解包,然后告知客户2,然后客户2收到后,进行拆包,才主动开启 视频端连接套接字,去连接
服务器。 以后,视频的内容就通过 视频套接字短连接 进行了。 再也不通过 长连接了。
我设计的合理不?
[解决办法]
求教这里的大牛。。。http://topic.csdn.net/t/20030730/12/2088749.html
[解决办法]
语音和视频
如果采用TCP的话,在网络烂的情况下就不断重传。然后效果就是你不断的在看重放。
语音也是一个道理,你不想搞个复读机出来吧?