网络编程

1、网络模型

OSI模型和TCP/IP模型

2、网络通讯的三要素

IP地址、端口号和传输的协议

3、InetAddress类

package cn.tx.net;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class IPAdressDemo {

	public static void main(String[] args) {
		//获得本机IP地址
		try {
			InetAddress ia= InetAddress.getLocalHost();
			//获得本机的IP字符串
			String ip = ia.getHostAddress();
			System.out.println(ip);
			//获得主机名
			String iname = ia.getHostName();
			System.out.println(iname);
			//根据主机名来获得IP地址
			InetAddress ia1= InetAddress.getByName("676S0W3D01U3PP7");
			System.out.println(ia1);
			
			
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
}

4、UDP通信

package cn.tx.net1;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;


public class UDPClient {
	public static void main(String[] args) {
		//创建客户端的套接字对象
		DatagramSocket ds = null;
		try {
			ds = new DatagramSocket();
			//定义要发送的内容
			byte[] bs = "你好".getBytes();
			//创建要发送的目的地的IP对象
			InetAddress ia = InetAddress.getByName("676S0W3D01U3PP7");
			//打数据包
			DatagramPacket dp = new DatagramPacket(bs,bs.length,ia,10000);
			//发送数据包
			ds.send(dp);
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(ds != null){
				ds.close();
			}
		}
		
		
	}
	
	
	
}

package cn.tx.net1;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;

public class UDPServer {

	public static void main(String[] args) {
		//创建UDP服务器端的对象,必须指定端口
		DatagramSocket ds= null;
		try {
			ds = new DatagramSocket(10000);
			//定义接收数据的字节数组
			byte[] bs = new byte[1024];
			//定义接收的数据包
			DatagramPacket dp = new DatagramPacket(bs,bs.length);
			System.out.println("服务器已经启动");
			//数据包的接收
			ds.receive(dp);
			//获得发送端的IP
			InetAddress ia = dp.getAddress();
			//获得数据包中的数据,这个数组的长度是我们自己定义时的长度(1024)
			byte[] bs1 = dp.getData();
			//获得接收数据的长度,这个长度时实际接收数据的长度
			int len = dp.getLength();
			//组装接收的数据
			String data = new String(bs1,0,len);
			System.out.println(ia.getHostAddress()+"发送了:"+data);
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(ds != null){
				ds.close();
			}
			
		}
		
		
	}
	
}

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页