找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3499|回复: 2

ACE的初级问题--《ACE程序员教程》中的udp例子不管用

[复制链接]
发表于 2008-1-14 21:04:55 | 显示全部楼层 |阅读模式
我是个ace的初学者,现在已经顺利的装上了ace,并且可以编译成功。
但是我自己写了个小例子,就是用udp收发数据,在发送数据时,调用ACE_SOCK_Dgram::send()方法总是返回-1。
我没有找到ace的帮助文档,不知道返回值表示什么。不过从以往的经验,我想-1肯定是失败了,而且服务端也确实没有收到数据。
我又试了《ACE程序员教程》中给出的udp的例子,也是同样的结果。
请问我该怎么办呢,请有经验的朋友给个提示,谢谢。
另外,我在发数据时,防火墙会给出提示,说我的程序要访问网络,我想打开端口应该是成功了的。
 楼主| 发表于 2008-1-14 21:05:12 | 显示全部楼层
现在问题已经解决了。

在初始化远程端口号时,是这样写的:
remote_addr_(remote_host),也就是调用的这个函数原型:
ACE_INET_Addr::ACE_INET_Addr(const char address[]);
而ace帮助文档中说,这个address必须是这样的形式:"127.0.0.1:5000",如果这个字符串中没有':'的话,就会把address当成是端口号,而把ip设为INADDR_ANY,也就是0.0.0.0,所以就出了错。
发表于 2008-3-31 21:44:27 | 显示全部楼层
那是设置address的时候必须指定端口号吗?
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-22 13:05 , Processed in 0.015894 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表