【转】网络通信

进行网络通信需要的三要素:ip、端口、协议
------------
IP  //获取IP
InetAddress i = InetAddreass.getLocalHost();
InetAddress ia = InetAddreass.getByName("www.baidu.com");
sop("address:"+ia.getHostAddreass());
sop("name:"+ia.getHostName());
-------------------------------
端口: 0~65535   0~1024
------------------
协议:
UDP:
将数据、源、目的封装成数据包,不需要建立连接
每个数据包限制在64K内
因无连接,是不可靠协议
不需要建立连接,速度快
TCP:
建立连接,形成传输数据的通道 
在连接中进行大数据量传输
通过三次握手完成连接,是可靠协议
必须建立连接,是可靠协议
------------------------------*-*
DatagramPacket类
需求:通过UDP传输协议将一段文字数据发送出去
思路:
1、建立udpSocket服务
2、提供数据并将数据封装到数据包中
3、通过Socket服务的发送功能将数据发送出去
4、关闭资源
发送端代码:
import java.io.*;
import java.net.*;
class UdpSend{
public static void main(String args[]) throws Excption{
DatagramSocket ds = new DatagramSocket();
byte[] buf = "abcde".getByte();
DatagramPacket dp = new DatagramPacket(buf, buf.length, InetAddreass.getByName(" 127.0.0.1 "), 10000);
ds.send(dp);
ds.close();
}
}
-------------------
接收端代码:
import java.io.*;
import java.net.*;
class UdpReve{
public static void main(String args[]) throws Excption{
DatagramSocket ds = new DatagramSocket(10000);
byte[] buf = "abcde".getByte();
DatagramPacket dp = new DatagramPacket(buf, buf.length, InetAddreass.getByName("  "), 10000);
ds.send(dp);
ds.close();
}
}





你可能感兴趣的:(socket)