季大哥,飘大哥来看看,同一端口收发数据问题

glassegg 2005-10-19 11:44:01
用udp通信,能否实现多个socket绑定同一端口收发数据。
比如:socket1=socket(AF_INET, SOCK_DGRAM, 0);
socket2=socket(AF_INET, SOCK_DGRAM, 0);
socket1绑定60005端口发数据,socket2绑定60005收数据。
用select()监听,为什么socket2有时可以收到数据,有时收不到。

不知道有没有讲清楚,如果不清楚,我继续解释。。

希望看贴的各位大哥一起分析一下原因。
...全文
326 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
glassegg 2005-10-21
  • 打赏
  • 举报
回复
我是说,我送信用的本地端口是60005,还没有说清楚吗?
就是source port60005.
constantine 2005-10-21
  • 打赏
  • 举报
回复
如果不指定本地端口,系统会自动随机指定的。
-----------------------------------------
如果简单在lan里面发,你绑定端口后,对方收到的就是你绑定的端口
如果在外网,你是无法指定peerport的,系统会自己做映射的
或许我理解错你的意思了
constantine 2005-10-21
  • 打赏
  • 举报
回复
想用60005送信---啥意思?很晕
发信端口不就是对方接收的端口吗,哪里有什么绑定的
如:send...(对方ip.对方端口,....)
不知道你搞什么
glassegg 2005-10-21
  • 打赏
  • 举报
回复
我是说,想用60005送信,也用60005受信。
如果不指定本地端口,系统会自动随机指定的。
tccsdn 2005-10-21
  • 打赏
  • 举报
回复

打错了
socket1不用绑定的,你要做什么??
tccsdn 2005-10-21
  • 打赏
  • 举报
回复
socket1绑定60005端口发数据,socket2绑定60005收数据。

=========================
socket1不用发送的,你要做什么??
glassegg 2005-10-21
  • 打赏
  • 举报
回复
我现在是不知道如何指定本地发送端口。请赐教
glassegg 2005-10-21
  • 打赏
  • 举报
回复
楼上的兄弟,冒昧的问一句,你从事这方面开发多久了。
我现在就是用两个socket绑定同一个端口,送信没问题,就是受信不正常,所以才来这里问大家的。不知道,我的这种性能要求,理论上能不能实现。用select监视
asdfg014 2005-10-21
  • 打赏
  • 举报
回复
2个SOCKET是不可以绑定同一个端口的~象你现在这样只好~接收一次之后把SOCKET 关闭再生成发送的SOCKET 再发送再关闭................

PS:画蛇添足的方法
yesry 2005-10-20
  • 打赏
  • 举报
回复
一个socket可以收,也可以发,为何要2个socket?
constantine 2005-10-19
  • 打赏
  • 举报
回复
没有用过api,但是应该不可以,udp通信不一定要用多个啊,本来就是无连接的,发送的时候指定ip,port不就行了吗,我用indy的控件都是这样做的
glassegg 2005-10-19
  • 打赏
  • 举报
回复
~贴在人在,贴沉人亡~
glassegg 2005-10-19
  • 打赏
  • 举报
回复
呵~
呵~
楼上这句说的很幽默哦。

用户需要实现同一端口送受信的机能。

我考虑到同一端口用一个socket送受信有问题,所以同一端口生成两个socket,结果就现在这样了。。
shadowstar 2005-10-19
  • 打赏
  • 举报
回复
用户让你用两个Socket绑定到同一个端口上了么?

如果是这样用户真的是。。。
如果不是这样你真的是。。。
glassegg 2005-10-19
  • 打赏
  • 举报
回复
我晕,其他方法在那里?
yesry 2005-10-19
  • 打赏
  • 举报
回复
用户不懂技术。找其他方法。
glassegg 2005-10-19
  • 打赏
  • 举报
回复
用户就是上帝,大哥,我们是民工,这可反不了啊~
用户这样要求的。
FengSC 2005-10-19
  • 打赏
  • 举报
回复
用两个端口吧
glassegg 2005-10-19
  • 打赏
  • 举报
回复
indy控件好像也不能指定本地送信端口吧?
如果用控件,可以指定本地送信端口,也行。
可是现在找不到除了winsock之外,指定本地送信端口的方法。
glassegg 2005-10-19
  • 打赏
  • 举报
回复
to constantine(飘遥的安吉儿)

没办法,一开始就是用的winsock,现在项目都快要结束了,改架构是不行了,所以只好找找补救的方法了。
ps:indy控件没用过。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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