关于TCP协议传输效率的有关问题

关于TCP协议传输效率的问题
求指导。mfc,casyncsocket,select方式。客户端通过tcp与服务器通信,客户端每隔10毫秒从底层硬件采集6KB的数据并实时发送给服务器,服务器端每接收一组数据(即6KB)后进行一些处理并反馈到UI界面上,。因此大概是600KB/S的速率,不知采用tcp方式通信是否来得及,如何保证数据总能实时发送给服务器一端。如果单套接字通道不行,同时开多个连接的方式是否合理。有没有更好的办法。谢谢!
------解决思路----------------------
一般的网卡都百兆千兆了,连600KB/S的速度都达不到只能是设计有问题。
------解决思路----------------------
随便网卡,最起码的速度是10M/s
------解决思路----------------------
如果是在局域网就问题不大了,主要看10毫秒能不能把工作做好
但如果是广域网的话就麻烦点,现在的宽带上传速度除了商业外不可能达到 600kb/s 的速度,最多就只有64~128kb/s
------解决思路----------------------
看设备网卡驱动性能是否能高速工作,如果可以起码10M肯定满足要求。
界面上刷新就不要那么快了,半秒或者1秒刷新一次就好了,看不了那么快。
如果10ms刷新一次,界面会很花的。而且可能会卡。
------解决思路----------------------
这个数量级别的通讯,局域网没有问题;
上公网需要测试实际效果。
如果Server侧除了UI显示,还需要后台运算或者入库操作,
系统瓶颈是Server侧的业务处理而不是网络通讯;
如果只是显示,同意楼上说的,可以考虑丢失部分数据,
UI到秒级刷新一般应用足够了
------解决思路----------------------
电脑程序处理时间在微秒级,处理时间绰绰有余
------解决思路----------------------
数据能不能实时发送到服务器是靠你的带宽来保证的,600KB/S我感觉如果是局域网一般没有问题;如果是广域网就不好说了,你得考虑网速的因素,我感觉你的程序应该能分别适应于高带宽和底带宽,在服务器端做个队列吧,先把客户端发送的数据存在队列中,之后在服务器端单独开一个线程来处理数据,如果队列中有数据就按你之前的逻辑处理,如果队列中数据不够上层使用了,就加一些特殊处理。
------解决思路----------------------
select IO 绝对没问题,我做过类似的东西。
------解决思路----------------------
需求还是没有解释清楚。

你这样的客户端有多少?1个和100个所对应的数据量和业务量是不一样的。
如果就仅仅几个这样的客户端,那么不建议你用任何高级网络模型,直接用多线程的方式来处理(一个socket连接一个线程的方式),响应会很快,处理起来也相对容易些。
如果客户端很多,那么就需要使用网络网络模型,并且还需要结合缓冲队列来处理。
同时,UI和业务处理分开是必须的。