【socket】
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
public class TestSocket {
public static void main(String[] args) {
TestSocket ts=new TestSocket();
Server s=ts.new Server();
Client c=ts.new Client();
s.start();
c.start();
}
class Server extends Thread{
public void run(){
try {
//server socket
ServerSocket ss=new ServerSocket(8888);
Socket s=ss.accept();
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
dos.writeUTF("Server");
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
String iString=dis.readUTF();
System.out.println("Server:"+iString);
dos.close();
os.close();
dis.close();
is.close();
s.close();
ss.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
class Client extends Thread{
public void run(){
try {
//client socket
Socket s=new Socket("127.0.0.1",8888);
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
dos.writeUTF("Client");
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
String iString=dis.readUTF();
System.out.println("Client:"+iString);
dos.close();
os.close();
dis.close();
is.close();
s.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
【udp】
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class TestUDP {
public static void main(String args[]){
TestUDP tUDP=new TestUDP();
tUDP.new Server().start();
tUDP.new Client().start();
} class Server extends Thread{ public void run(){ String sendStr="send"; try { InetAddress ia = InetAddress.getByName("localhost"); DatagramSocket sds=new DatagramSocket(); DatagramPacket sdp=new DatagramPacket(sendStr.getBytes(),sendStr.length(),ia,5555); sds.send(sdp); sds.close(); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } class Client extends Thread{ public void run(){ try { byte b[]=new byte[1024]; DatagramSocket rds=new DatagramSocket(5555); DatagramPacket rdp=new DatagramPacket(b,1024); rds.receive(rdp); System.out.println("receive:"+new String(b,0,rdp.getLength())); rds.close(); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }}