socket通信demo

Server.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.hmb;
 
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.ServerSocket;
import java.net.Socket;
 
public class Server {
    public static void main(String[] args) {
        int port = 8917;
        try {
            System.out.println("server start");
            ServerSocket serverSocket = new ServerSocket(port);
            Socket socket = serverSocket.accept();
            Reader reader = new InputStreamReader(socket.getInputStream());
            char[] chars = new char[1024];
            int len;
            while ((len = reader.read(chars)) != -1) {
                System.out.println(new String(chars, 0, len));
            }
            reader.close();
            socket.close();
            serverSocket.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

  

Client.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.hmb;
 
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.Socket;
 
public class Client {
    public static void main(String[] args) {
        String ip = "127.0.0.1";
        int port = 8917;
 
        try {
            System.out.println("client start");
            Socket socket = new Socket(ip, port);
            Writer writer = new OutputStreamWriter(socket.getOutputStream());
            writer.write("hello, I am client");
            writer.flush();
            writer.close();
            socket.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

  

先运行Server.java的main方法,再运行Client.java的main方法,此时server的终端就会打印收到的信息

 

posted @   hemeiwolong  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示