我的客户端程序要接受10台服务器的视频数据。
方案1:用udp传输,客户端创建一个socket,绑定自己ip,一固定端口,只开辟一个线程,用该scoket来发送接受10台服务器所有控制命令,并用该socket来接受10台服务器的视频数据,对于收到的数据,我通过ip和端口来判断是哪台服务器的数据。这样可行不?会有啥问题?
方案2:用tcp传输,客户端创建一个socket,connect 10个服务器(这行的通不?)只开辟一个线程(还是要开辟10个线程啊),用该scoket来发送接受10台服务器所有控制命令,并用该socket来接受10台服务器的视频数据,对于收到的数据,我通过ip和端口来判断是哪台服务器的数据。这样可行不?会有啥问题?
方案1:用udp传输,客户端创建一个socket,绑定自己ip,一固定端口,只开辟一个线程,用该scoket来发送接受10台服务器所有控制命令,并用该socket来接受10台服务器的视频数据,对于收到的数据,我通过ip和端口来判断是哪台服务器的数据。这样可行不?会有啥问题?
方案2:用tcp传输,客户端创建一个socket,connect 10个服务器(这行的通不?)只开辟一个线程(还是要开辟10个线程啊),用该scoket来发送接受10台服务器所有控制命令,并用该socket来接受10台服务器的视频数据,对于收到的数据,我通过ip和端口来判断是哪台服务器的数据。这样可行不?会有啥问题?
解决方案 »
- ListBox 怎么用代码修改STYLE 属性
- 如何设置保存类型
- 关于串口接收数据中取值的问题
- 如何改变对话框背景色?
- CBitmap和HBITMAP有什么区别?
- 请问响应输入框按回车怎么实现??
- 简单问题,送分
- 大家好,请教: unix的c程序函数, 要移植到VC上用, 怎么最方便呀, 我没有作过,很茫然
- 关于WNetEnumCachedPasswords
- CompareNoCase返回2147483647
- VC6下配置Boost出错 C1001: INTERNAL COMPILER ERROR
- 急啊,都要过年,还要被这苦焦的,困扰几天的问题,网上未见提出可操作的方法来(vc WebBrowser2 downLoadComplete,DocumentComplete事件问题或如何在这两个事件中关闭打开的网页!)
也许可以使用SCTP(流控制传输协议结合了TCP 和UDP 的优点).
1对10不行呀
方法2.一个socekt连接10个ip 肯定有问题
最好是一个连接 建立一个线程来实现。
但是用一个Socket 连接10台服务器,会有很大问题。
客户端请求哪个服务器的视频就跟那个服务器建立连接就行。
对于方案2 用TCP来传输控制命令信息会更好些。
2、视频数据是流数据,明显应该用TCP,UDP不能保证数据包接收次序与发送次序一至,而TCP具备流控制机制
3、你这种需求的最佳逻辑是10个SOCKET,10个线程互不干扰
本人不同意你的观点,UDP可以不是点对点,可以使1对多 同意的鲜花送来。