服务端、客户端的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(" ");
}

}
}

 

posted @ 2020-09-27 22:38  Liang-shi  阅读(293)  评论(0)    收藏  举报