JAVA Socket & UDP 示例

来源:互联网 发布:java三层架构实例 编辑:程序博客网 时间:2024/05/20 11:52

UDP

import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;public class TestUDP {public static void main(String[] args) {if(args.length>0)//Send Data{try {DatagramSocket socket = new DatagramSocket(22222);//发送端口byte[] buf = "hello".getBytes();System.out.println("Start Sending");DatagramPacket datagramPacket = new DatagramPacket(buf, buf.length,InetAddress.getByName("127.0.0.1"), 33339);//远程接受端口socket.send(datagramPacket);System.out.println("sending completed");socket.close();} catch (Exception e) {e.printStackTrace();}}else{  //Receive Datatry {DatagramSocket socket = new DatagramSocket(33339);byte[] buf = new byte[1024];DatagramPacket datagramPacket=new DatagramPacket(buf, buf.length);System.out.println("start receiving");socket.receive(datagramPacket);System.out.println(new String(buf, 0, datagramPacket.getLength()));socket.close();} catch (Exception e) {e.printStackTrace();}}}}

Socket

import java.io.InputStream;import java.io.OutputStream;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;public class TestSocket {if (args.length > 0) {try {Socket s = new Socket(InetAddress.getByName("127.0.0.1"), 33333);OutputStream os = s.getOutputStream();InputStream is = s.getInputStream();byte[] buf = args[0].getBytes();System.out.println("send \""+args[0]+"\"");os.write(buf);is.close();os.close();s.close();} catch (Exception e) {e.printStackTrace();}} else {try {ServerSocket ss = new ServerSocket(33333);System.out.println("listening");Socket s = ss.accept();// BLOCKOutputStream os = s.getOutputStream();InputStream is = s.getInputStream();byte[] buf = new byte[1024];int length=is.read(buf);//BLOCKSystem.out.println("Data received:"+new String(buf, 0, length));is.close();os.close();s.close();ss.close();} catch (Exception e) {e.printStackTrace();}}}}


原创粉丝点击