读书人

boost网络编程有关问题

发布时间: 2013-03-19 17:22:05 作者: rapoo

boost网络编程问题
请问大家有谁用过boost的asio写过UDP服务器?
请注意是UDP服务器,
模型如下:

Server:打开一个UDP端口,监听来自客户端的请求,如果收到请求字符串时候,将从客户端收到的请求再发送到客户端去。

Client:发送一个字符串“UDP”到服务端,然后再从服务端将字符串接收回来。

在boost的官网上找到了demo,但是没有调试成功。
有一段echo示例
http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/examples.html


[解决办法]
UDP没用过,用过TCP,同步和异步,木有难度。
话说为什么要用UDP。
[解决办法]
UDP是不可靠传输,除非应用场景对丢包没有要求,否者的话,再在UDP之上实现应答/重传/流控等一系列的功能,它的速度不会比TCP快。
对于你写的服务器端要求来看,还谈不上性能。我使用asio tcp异步方式的socket通信传输数据,应用场景是一发多收,峰值传输速率60Mbytes/s的情况下不丢包。
另外,可以考虑先用同步方式实现,更简单更容易理解一些。


[解决办法]
boost的例子里面目录有个libs/example/asio
里面应该有楼主想要的示例代码
udp做大数据量传输时 相比tcp还是有优势的 主要是tcp每次都要ack 反复的ACK会占用带宽
粗略点的处理有基于udp的rtp/rtcp传输
精细点的有一个基于udp的支持重传机制的协议貌似叫udpt?
不过总体上 实现这些协议 复杂度不次于tcp
[解决办法]
坐等高人,以解迷悟
[解决办法]
公司内网用的话
UDP可以的

如果你在自己的网段跑通的话 估计可能是公司网络的问题 前提是程序没问题
[解决办法]
这里有个Bootup的例子,是你要的吗?
http://download.csdn.net/detail/geoff08zhang/4571358

读书人网 >C++

热点推荐