1、TCP..........................................
实例
SocketTcpClient/SocketTcpSever
public class SocketTcpClient {
public static void main(String[] args) throws IOException {
final Socket socket=new Socket();
SocketAddress address=new InetSocketAddress(InetAddress.getLocalHost(),8080);
socket.connect(address);
PrintWriter socketOut=new PrintWriter(socket.getOutputStream());
BufferedReader sockerIn=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String sendStr="客户端向服务器端:你们第六期就业薪资突破多少";
socketOut.write(sendStr);
socketOut.flush();
String receiveStr=sockerIn.readLine();
System.out.println("服务器端问题:"+receiveStr);
socketOut.close();
sockerIn.close();
socket.close();
}
}
public class SocketTcpServer {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket=new ServerSocket();
SocketAddress address=new InetSocketAddress(InetAddress.getLocalHost(),8080);
serverSocket.bind(address);
System.out.println("等客户端发送信息......");
Socket accept=serverSocket.accept();
PrintWriter socketOut=new PrintWriter(accept.getOutputStream());
byte buf[]=new byte[1024];
if(accept.getInputStream().read(buf)>0){
System.out.println("服务端接受客户端消息:"+new String(buf));
}
String sendStr="服务器回复 客户端 突破百W薪资";
socketOut.write(sendStr);
socketOut.flush();
socketOut.close();
accept.close();
serverSocket.close();
}
}
2、UDP..........................................
实例
SocketUdpClient/SocketUdpSever
public class SocketUdpClient {
public static void main(String[] args) throws IOException {
/*
DatagramSocket socket = null;
try {
socket = new DatagramSocket();
byte[] buf = "hello,UDP".getBytes();
InetAddress address;
address = InetAddress.getByName("localhost");
DatagramPacket packet = new DatagramPacket(buf, buf.length, address,8080);
socket.send(packet);
} catch (Exception e) {
e.printStackTrace();
}finally{
socket.close();
}*/
InetAddress address=InetAddress.getByName("127.0.0.1");
int port=8080;
byte data[]="向服务端发送数【我来自客户端,我来自客户端】?".getBytes();
DatagramPacket packet=new DatagramPacket(data,data.length,address,port);
DatagramSocket socket=new DatagramSocket();
socket.send(packet);
byte data2[]=new byte[1024];
DatagramPacket packet2=new DatagramPacket(data2,data2.length);
socket.receive(packet2);
String reply=new String(data2,0,packet2.getLength());
System.out.println("我是客户端,服务端说:"+reply);
socket.close();
}
public class SocketUcdServer {
public static void main(String[] args) throws IOException {
DatagramSocket socket=new DatagramSocket(8080);
byte data[]=new byte[1024];
DatagramPacket packet=new DatagramPacket(data,data.length);
System.out.println("******服务端已启动,等客户端发数据");
socket.receive(packet);
String info=new String(data,0,packet.getLength());
System.out.println("我是服务器,客户端说:"+info);
socket.close();
}
}