windows mobile (ce) udp socket 的端口问题

Un1 2008-12-03 09:39:25
使用 bind 到特定端口后发现 ce 不能收到发往该端口的数据, 用Ethereal抓包后发现报错误端口不可用。调用sendto后也发现实际使用的端口不是bind到的端口号。


问题:如何得到实际的本地端口号? 谢谢!

...全文
226 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
comey 2010-11-10
  • 打赏
  • 举报
回复
搞定了吗?
Un1 2008-12-04
  • 打赏
  • 举报
回复
多谢楼上不过我就是要用udp的。。。
zhyuanshan 2008-12-04
  • 打赏
  • 举报
回复
用Tcp/IP先和PC上的服务器建立连接,再传输,肯定不会有问题
北方大冬瓜 2008-12-03
  • 打赏
  • 举报
回复
程序写的有问题?
Un1 2008-12-03
  • 打赏
  • 举报
回复
特定端口到是不需要,实际上我是调用bind到0端口由系统自动分配的端口,关键是bind成功后调用getsockname出来的端口并不是正确的端口,目前的步骤是这样的:

1:bind
2: getsockname得到当前绑定的端口,然后通过其他连接告诉对端端口号。
3:对方向该端口发送数据,成功。
4:但在ce上收不到数据,抓包看是由于该端口未取用,包被丢弃了。

如果bind后向外发送一个包,然后抓包看到source port,对端向这个port发送就可以收到数据,真是郁闷啊。同样的代码在 windows 上跑没有任何问题。



beyondma 2008-12-03
  • 打赏
  • 举报
回复
很奇怪啊,你是能过SYNC连到设备上再由PC端的Ethereal抓得包吗?那样的端口是不对的吧。
zhyuanshan 2008-12-03
  • 打赏
  • 举报
回复
楼主要用PDA做服务器吗?为什么要绑定到特定端口呢?自动分配就成吗?

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧