服务端、客户端的socket
客户端:
1.向服务端发送请求
4.接受服务端的响应
服务端:
2.接收客户端的请求
3.向客户端发出响应

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
//表示服务器端
///职责:接受客户端发来的请求,并给客户端发响应
public class Server {
public static void main(String[] args)throws IOException {
//1,服务器启动
//ServerSocket(int port)
ServerSocket server = new ServerSocket(8000);
System.out.println("服务器启动");
//2,接受客户端发来的请求
Socket socket = server.accept();
System.out.println("客户端已链接成功");
//3,读取客户端的数据
InputStream in = socket.getInputStream();
for (int i = 0; i <5 ; i++) {
char c = (char)in.read();
System.out.print(c);
//System.out.println(" ");
}
//4,给客户端发出world
OutputStream out = socket.getOutputStream();
out.write("getoo".getBytes());
out.flush();
}
}
===========================================
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
//客户端
//职责:向服务端发出的请求,并接受服务器的响应
public class Client {
public static void main(String[] args) throws IOException {
//1,与服务器链接
//socket()
Socket socket = new Socket("176.114.23.64",8000);//72
System.out.println("与服务器链接成功");
//2,给服务到发送hello
OutputStream out = socket.getOutputStream();
//字节流无法直接写出一个字符串,String 需要转byte
out.write("hello".getBytes());
out.flush();
InputStream in = socket.getInputStream();
for (int i = 0; i <5 ; i++) {
char c = (char)in.read();
System.out.print(c);
//System.out.println(" ");
}
}
}
浙公网安备 33010602011771号