TCP:分客户端和服务端。
TCPServer.java:
package com.buaa.tcpDemo01;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) throws Exception{
ServerSocket server = new ServerSocket(4444);
Socket socket = server.accept();
OutputStream os = socket.getOutputStream();
InputStream is = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String data = reader.readLine();
System.out.println(data);
os.write("From Server:hi,I am server .\n".getBytes());
reader.close();
is.close();
os.close();
}
}
TCPClient.java:
package com.buaa.tcpDemo01;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
public class TCPClient {
public static void main(String[] args) throws Exception{
Socket socket = new Socket("127.0.0.1",4444);
OutputStream os = socket.getOutputStream();
os.write("From Client:Hi,I am Client .\n".getBytes());
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String data = br.readLine();
System.out.println(data);
br.close();
is.close();
os.close();
}
}
UDPServer.java:
package com.buaa.udpDemo01;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPServer {
public static void main(String[] args) throws Exception{
DatagramSocket ds = new DatagramSocket(5555);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,1024);
ds.receive(dp);
String data = new String(dp.getData(),0,dp.getLength());
System.out.println(data);
InetAddress addr = dp.getAddress();
int port = dp.getPort();
byte[] echo = "From Server:echo..........".getBytes();
DatagramPacket dp2 = new DatagramPacket(echo,echo.length,addr,port);
ds.send(dp2);
ds.close();
}
}
UDPClient.java:
package com.buaa.udpDemo01;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPClient {
public static void main(String[] args) throws Exception{
DatagramSocket ds = new DatagramSocket();
InetAddress addr = InetAddress.getByName("127.0.0.1");
byte[] data = "From Client:Hi,I am Client .".getBytes();
DatagramPacket dp = new DatagramPacket(data,data.length,addr,5555);
ds.send(dp);
byte[] buf = new byte[1024];
DatagramPacket dp2 = new DatagramPacket(buf,1024);
ds.receive(dp2);
String echo = new String(dp2.getData(),0,dp2.getLength());
System.out.println(echo);
ds.close();
}
}