Socket编程 客户端给服务端发送消息,服务端回复

1、创建服务端

package server_scoket;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server_Socket {

    public static void main(String[] args) throws IOException {
        //创建服务端,绑定端口8081
        ServerSocket server = new ServerSocket(8081) ;
        System.out.println("Scoket 服务启动成功。。。。。。。。。。。。。");
        //阻塞状态、监听服务端口8081
        Socket client = server.accept() ;  
        System.out.println("来访问客户端信息:" + "    客户端ip:"+client.getInetAddress()
                + "客户端端口:"+client.getInetAddress().getLocalHost() + "已连接服务器" );
        
        BufferedReader bReader = new BufferedReader(new InputStreamReader(client.getInputStream()));    
        //读取客户端发送来的消息
        String msg = bReader.readLine();        
        System.out.println("客户端发来的消息:" + msg); 

        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
        bw.write("服务端返回的信息: "+msg+"1"+"\n");
        bw.flush();
    }

}
 

启动服务端,服务端显示信息如下:
Scoket 服务启动成功。。。。。。。。。。。。。

 

 

 

2、创建服务端

package server_scoket;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {

    public static void main(String[] args) {

        try {
            //指定连接服务端的IP  端口
            Socket socket  = new Socket("127.0.0.1" , 8081) ;
            //创建IO输入输出流
            InputStream iStream = socket.getInputStream();         //输入流
            OutputStream oStream = socket.getOutputStream() ;    //输出流
            
            BufferedWriter bWriter = new BufferedWriter(new OutputStreamWriter(oStream)) ;
            
            //向服务器端发送一条消息
            bWriter.write("测试客户端和服务器通信,服务器接收到消息返回到客户端\n") ;
            bWriter.flush();
            
            //读取服务器返回的消息
            BufferedReader bReader = new BufferedReader(new InputStreamReader(iStream)) ;
            String msg = bReader.readLine();
            
            System.out.println(msg);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

启动客户端,给服务器发消息,服务端控制台显示
来访问客户端信息:    客户端ip:/127.0.0.1客户端端口:AUTOBVT-O9SA5CQ/18.141.65.119已连接服务器
客户端发来的消息:测试客户端和服务器通信,服务器接收到消息返回到客户端

 

 

 

 

服务器回给客户端的消息
服务端返回的信息: 测试客户端和服务器通信,服务器接收到消息返回到客户端1

 

你可能感兴趣的:(Java基础)