社区
Java SE
帖子详情
DatagramPacket获取端口的问题
漓江农民
2009-09-13 10:31:20
客户端A是在某内网中,外部服务器S收到A的UDP包,通过getAddress().getHostAddress()获取的是A的外网地址,用getPort()获取的端口却是A的内网端口.为什么会这样,得到的端口应该是路由器分配给A的外网端口才对啊.A的路由并没有给A映射端口,为什么为什么
...全文
176
2
打赏
收藏
DatagramPacket获取端口的问题
客户端A是在某内网中,外部服务器S收到A的UDP包,通过getAddress().getHostAddress()获取的是A的外网地址,用getPort()获取的端口却是A的内网端口.为什么会这样,得到的端口应该是路由器分配给A的外网端口才对啊.A的路由并没有给A映射端口,为什么为什么
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
漓江农民
2009-09-13
打赏
举报
回复
dingding在线等.怎么没人啊
charles_1984
2009-09-13
打赏
举报
回复
检查代码,估计你的代码在获取端口上出问题了!
android写udp遇到的一些
问题
1.由于传输协议基于protocol buffer,接收到的数据包是动态变化的,而java数据包接收要先定义byte【】大小,这样接收到的数据报长度变为固定了,于是接收到的数据报在反序列化的时候屡屡报错。。。。。。郁闷死
解决方法:利用
Datagram
Packet
.getLength()可以截获实际数据报大小,再重新定义一块该大小的byte【】反序列化就可以了。
2.android模拟器在用udp接收数据的时候老接收不到数据,这个
问题
搞得我也焦头烂
android udp开发,Android UDP
一、UDP协议全称是用户数据报协议 ,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。1、UDP是一个无连接协议,传输数据之前源端和终端不建立连接;2、不维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息;3、UDP信息包的标题很短,8个字节,对于TCP的20个字节信息包的额外开销很小;4、吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、...
Java网络编程:(socket API编程:UDP协议的 socket API -- 回显程序的服务器端程序的编写)
获取
的是 response 这个String对象中的字节数组
获取
字节数组的长度
获取
客户端的套接字地址(IP 地址和
端口
号到这里,我们的响应数据包,就构建好了,我们就可以发送了。读取请求并解析,这一步,应该是开始上难度了,因为这一步,我们使用到的几个方法,都是第一次使用。而且,通过字节数组,来创建 String对象的方式,比较少见。所以,这一步理解起来,可能会有难度了。如果其他的服务器,处理方式,可能不一样,这里仅仅是讨论了我们这个回显服务器的 socket对象,要不要关闭的
问题
。
Datagram
Packet
和
Datagram
Socket
Datagram
Packet
在码头发送和接收货物时都需要使用集装箱来装载货物,UDP通信也是一样,发送和接收的数据也需要使用“集装箱”进行打包,为此JDK中提供了一个
Datagram
Packet
类,该类的实例对象就相当于一个集装箱,用于封装UDP通信中发送或者接收的数据。 在创建发送端和接收端的
Datagram
Packet
对象时,使用的构造方法有所不同,接收端的构造方法只需要接收...
Datagram
Packet
的学习
学习摘要
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章