网络编程
来源:互联网 发布:知乎关注人数最多的 编辑:程序博客网 时间:2024/05/16 15:00
作业:
1.使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是“Hello,world”。
import java.net.*; public class Test { public static void main(String[] args) throws Exception { byte[] buf = new byte[1024]; DatagramSocket ds = new DatagramSocket(8001); DatagramPacket dp = new DatagramPacket(buf, 1024); ds.receive(dp); String str = new String(dp.getData(),0, dp.getLength()); System.out.println(str); ds.close(); } }
import java.net.*;public class Test1 {public static void main (String[] args) throws Exception{DatagramSocket ds=new DatagramSocket(3000);String str="Hello world";DatagramPacket dp = new DatagramPacket(str.getBytes(), str.length(), InetAddress.getByName("localhost"), 8001); ds.send(dp); ds.close(); }}
2. 使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出.
import java.io.*; import java.net.*; public class Test{ public static void main(String[] args) throws Exception { new TCPClient().connect(); } } class TCPClient { public void connect() throws Exception { Socket client = new Socket(InetAddress.getLocalHost(), 8002); InputStream is = client.getInputStream(); byte[] buf = new byte[1024]; int len = is.read(buf); System.out.println(new String(buf, 0, len)); client.close(); } }
import java.io.*; import java.net.*; public class Test1{ public static void main(String[] args) throws Exception { new TCPServer().listen(); } } class TCPServer { public void listen() throws Exception { ServerSocket serverSocket = new ServerSocket(8002); Socket client = serverSocket.accept(); OutputStream os = client.getOutputStream(); os.write(("hello world").getBytes()); Thread.sleep(5000); os.close(); client.close(); } }