您的位置:首页 > 编程语言 > Java开发

Client/Sever模式的通信——Java

2015-03-14 15:43 134 查看

基于UDP模式的C/S通信

这是Client端的:
import java.net.*;
import java.io.*;
public class UDPClient{
	public static void main(String args[]){
		DatagramSocket socket = null;
		DatagramPacket packet = null;
		InetAddress address = null;
		String s = "send the data , please !";
		byte buf[] = new byte[256];
		buf = s.getBytes();
		byte ip[] = {(byte)127,(byte)0,(byte)0,(byte)1};
		try{
			address = InetAddress.getByAddress(ip);
			socket = new DatagramSocket();
			packet = new DatagramPacket(buf,buf.length,address,1080);
			socket.send(packet);
			Thread.sleep(2000);
			packet = new DatagramPacket(buf,buf.length);
			socket.receive(packet);
			s = new String(packet.getData());
			System.out.println("received data is :"+s);
		}catch(Exception e){
			System.out.println(e.toString());
		}
		socket.close();
	}
}


这是Sever端的:

import java.net.*;
import java.io.*;
import java.util.*;
public class UDPSever{
	public static void main(String args[]){
		DatagramSocket socket1=null;
		DatagramPacket packet1=null;
		String s1;
		byte buf1[]= new byte[256];
		InetAddress address1 = null;
		int port1;
		Date date1;
		try{
			socket1 = new DatagramSocket(1080);
			packet1 = new DatagramPacket(buf1,buf1.length);
			socket1.receive(packet1);
			s1=new String(packet1.getData());
			System.out.println("received request:"+s1);
			port1 = packet1.getPort();
			address1= packet1.getAddress();
			date1 = new Date();
			s1 = date1.toString();
			buf1= s1.getBytes();
			packet1= new DatagramPacket(buf1,buf1.length,address1,port1);
			socket1.send(packet1);
			Thread.sleep(2000);
		}catch(Exception e){
			System.out.println(e.toString());
		}
		socket1.close();
	}
}


如果把这IP地址改改。就可以做简单的网络通信。
网络编程刚接触,慢慢学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: