需要创建两个类,一个BasicSocketServer服务器,另一个BasicSocketClient客户端,代码演示如下:
import org.w3c.dom.ls.LSOutput;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class BasicSocketServer {
public static void main(String[] args) {
System.out.println("服务器已启动,等待监听。。。。");
//创建ServerSocket对象
try(ServerSocket serverSocket = new ServerSocket(8888);
//监听8888端口,此时当前线程会处于阻塞状态。
Socket socket = serverSocket.accept();
//链接成功后会得到与客户端对应的Socket对象并解除阻塞
//通过客户端对应的Socket对象中的输入流对象,获取客户端发送过来的消息。
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));){
System.out.println(br.readLine());
}catch(Exception e){
e.printStackTrace();
System.out.println("服务器启动失败。。。。");
}
}
}
import java.io.PrintWriter;
import java.net.Socket;
public class BasicSocketClient {
public static void main(String[] args) {
//创建Socket对象
try(Socket socket = new Socket("127.0.0.1",8888);
//创建向服务端发送消息的输出流对象
PrintWriter pw = new PrintWriter(socket.getOutputStream())){
pw.println("服务器你好");
pw.flush();
}catch(Exception e){
e.printStackTrace();
}
}
}
根据运行结果体会网络编程的魅力^-^