黑马程序员技术交流社区
标题:
关于网络传输的问题
[打印本页]
作者:
吴在强
时间:
2013-2-13 11:07
标题:
关于网络传输的问题
这个是发送端:
public class UdpSend {
/**
* @param args
* @author admin Mr.wu
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// 创建一个网络服务
DatagramSocket gram = new DatagramSocket();
// DatagramPacket(byte[] buf, int length, InetAddress address, int port)
byte[] buf = "你好,我是superman".getBytes();
// 构建一个数据包对象
DatagramPacket packet = new DatagramPacket(buf, buf.length,
InetAddress.getByName("L9V680Q2P6SGD7H"), 10001);
System.out.println("ip=" + packet.getAddress().getHostAddress());
// 使用创建的网络服务对象发送数据包
gram.send(packet);
// 关闭网络服务资源
gram.close();
}
}
发送端运行结果:
ip=140.240.242.15
这个是接收端:
public class UdpReceive {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
//创建一个网络对象
DatagramSocket socket = new DatagramSocket(10001);
System.out.println("ip"+socket.getPort());
//定义一个receive接收数据包
byte[] buf = new byte[1024*32];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
//通过receive方法将数据将收到的数据存入数据包中
socket.receive(packet);
String ip = packet.getAddress().getHostAddress();
String datas = new String(packet.getData(),0,packet.getLength());
System.out.println("ip:"+socket.getPort()+"+"+"data"+datas);
//关闭网络资源
socket.close();
}
}
接收端运行结果:
ip:-1+data你好,我是superman
为什么它们两个得到的ip地址都不一样呢,按道理,发送端也把它的ip地址数据发送给接收端,应该ip都是相同的?同时,可以简单点说明udp的传输机制嘛?
作者:
吴在强
时间:
2013-2-13 11:10
帖子怎么发到物联云了!{:soso_e143:}!
作者:
王勇文
时间:
2013-2-13 14:08
我没试过,但是我觉得很容易想象嘛。
就像你的电脑可以设置本地ip,但是网络上使用的ip就不是你自己设置的本地ip。
专业的术语我也不懂,我没查过呢。 可能是逻辑端口那方面的吧。
作者:
许鑫星
时间:
2013-2-13 14:18
{:soso_e117:} System.out.println("ip:"+socket.getPort()+"+"+"data"+datas); 你打印的根本不是ip地址。。。。。
另外udp传输机制就是发送端向接受端发送指定端口的数据包,接收端在同样的端口等待接收吧。。。。
作者:
夏振博
时间:
2013-2-13 14:35
String ip = packet.getAddress().getHostAddress();//这里已经得到ip地址了,你的代码获得ip地址 后面没有用到
System.out.println("ip:"+socket.getPort()+"+"+"data"+datas);//这里的应该把上面获得的ip地址打印输出 System.out.println("ip:"+ip+"+"+"data"+datas);
作者:
吴在强
时间:
2013-2-14 11:54
可以解释一下udp的原理么?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2