A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙胜 中级黑马   /  2013-5-6 19:58  /  2482 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙胜 于 2013-5-13 08:27 编辑

当我们要通过DatagramSocket发送一个数据包时,通常已经在DatagramPacket中封装了要发送的数据和目标地址以及端口.
那么这个connect方法是起什么作用的?
当connect和DatagramPacket中封装的SocketAddress不一致时,数据发到哪里去了?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

5 个回复

倒序浏览
eycrckag 来自手机 中级黑马 2013-5-12 09:01:39
沙发
DatagramPacket中封装的SocketAddress不一致时,运行就会失败!没有到哪里去了。呵呵
回复 使用道具 举报
connect的作用是指定包只能从该地址发送或者接受数据包。
如果不一致。UDP数据包会发送到DatagramSocket指定的目标主机。
回复 使用道具 举报
楼主可以结贴了。。。
回复 使用道具 举报
刘胜寒 发表于 2013-5-12 09:44
楼主可以结贴了。。。

发送端是这样的,那么接收端呢,是不是指定SocketAddress后就不能接收其他的数据了?
回复 使用道具 举报
孙胜 发表于 2013-5-12 11:37
发送端是这样的,那么接收端呢,是不是指定SocketAddress后就不能接收其他的数据了? ...

接收端估计能收到。如果IP存在并且收到了。也会把这个包给丢了。因为在拆分到UDP数据报这块的时候发现IP地址不是自己的。就给丢了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马