免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2697 | 回复: 11
打印 上一主题 下一主题

UDP 可以这样实现吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-08 17:19 |只看该作者 |倒序浏览
我学习网络编程还没多长时间,最近在看一个项目代码。感觉有些奇怪。

请看以下描述:(以下通信均用UDP来实现)
------------------------------------
C 为客户端, S为服务器端

S 绑定端口 10000,等待接收信息

C 利用UDP发送信息给 S

由于UDP sendto 不能指定 本地端口,只能指定远端的IP和端口

所以:
      (1)发送第1次 C 可能利用端口 20001,S 需要回信息给 C的端口:20001
      (1)发送第2次 C 可能利用端口 20002,S 需要回信息给 C的端口:20002
      (1)发送第3次 C 可能利用端口 20003,S 需要回信息给 C的端口:20003
      (1)发送第4次 C 可能利用端口 20004,S 需要回信息给 C的端口:20004


但是据我自己现在的知识,UDP用某个端口接收数据报之前,要事先绑定的。怎么能实现用“动态端口“接收呢?
【动态端口:用哪个端口发出去,就用哪个端口接收】


请大家讲讲,谢谢了。

论坛徽章:
0
2 [报告]
发表于 2008-09-08 17:29 |只看该作者
大家帮帮忙哦,因为这个地方代码看不下去了。。。
==================================
对了,还有一个问题,呵呵。

(1) 怎样 取得UDP 发送时用的那个端口?

[ 本帖最后由 anank 于 2008-9-8 17:32 编辑 ]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2008-09-08 17:44 |只看该作者
UDP 协议中 S 向 C发 和C向S发是一样的. 如果你要双向通讯..两端都要绑定一个固定端口用来接收数据.

(1) 怎样 取得UDP 发送时用的那个端口?

这个不是你自己填充的吗?

论坛徽章:
0
4 [报告]
发表于 2008-09-08 17:47 |只看该作者
原帖由 cookis 于 2008-9-8 17:44 发表
UDP 协议中 S 向 C发 和C向S发是一样的. 如果你要双向通讯..两端都要绑定一个固定端口用来接收数据.


这个不是你自己填充的吗?



不好意思,也许是我说的不清楚,嘿嘿。

sendto函数中:自己填的是对方的IP和对方的端口

怎么取得sendto发送时,自己所用的端口???

论坛徽章:
0
5 [报告]
发表于 2008-09-08 17:51 |只看该作者
原帖由 anank 于 2008-9-8 17:29 发表
大家帮帮忙哦,因为这个地方代码看不下去了。。。
==================================
对了,还有一个问题,呵呵。

(1) 怎样 取得UDP 发送时用的那个端口?




UDP应该获取不到

论坛徽章:
0
6 [报告]
发表于 2008-09-08 17:54 |只看该作者
UDP也可以bind吧?
我回去查一下,最近老露怯,不敢瞎说了

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2008-09-08 17:56 |只看该作者
这个..依我的感觉 应该取不到..
不过你可以用这个试试.. getsockname

论坛徽章:
0
8 [报告]
发表于 2008-09-08 17:56 |只看该作者
搂主的意图应该是没有BIND

论坛徽章:
0
9 [报告]
发表于 2008-09-08 18:07 |只看该作者
原帖由 5毛党党员 于 2008-9-8 17:54 发表
UDP也可以bind吧?
我回去查一下,最近老露怯,不敢瞎说了

可以

论坛徽章:
0
10 [报告]
发表于 2008-09-08 20:11 |只看该作者
UDP还可以connect呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP