Java之socket浅析
发布日期:2021-05-27 02:54:12 浏览次数:4 分类:技术文章

本文共 1590 字,大约阅读时间需要 5 分钟。

java中socket编程是基于tcp的传输层协议,Server端Listen监听某个端口是否有连接请求,Client端向Server 端发出连接请求,Server端向Client端发回Accept接受消息。这样一个连接就建立起来了。Server端和Client端都可以通过Send,Write等方法与对方通信。

代码示例:

public class MyServerSocket {    // 字节数组的长度    private static final int BYTE_LENGTH = 20;    public static void main(String[] args) throws IOException {        // 创建 Socket 服务器        java.net.ServerSocket serverSocket = new java.net.ServerSocket(9999);        // 获取客户端连接        Socket clientSocket = serverSocket.accept();        if (clientSocket != null) {            System.out.println("not null");        }        // 得到客户端发送的流对象        try (InputStream inputStream = clientSocket.getInputStream()) {            while (true) {                // 循环获取客户端发送的信息                byte[] bytes = new byte[BYTE_LENGTH];                // 读取客户端发送的信息                int count = inputStream.read(bytes, 0, BYTE_LENGTH);                if (count > 0) {                    // 成功接收到有效消息并打印                    System.out.println("接收到客户端的信息是:" + new String(bytes));                }                count = 0;            }        }    }}
public class MyClientSocket {    public static void main(String[] args) throws IOException {        // 创建 Socket 客户端并尝试连接服务器端        Socket socket = new Socket("127.0.0.1", 9999);        // 发送的消息内容        final String message = "Hi,Java.";        // 使用输出流发送消息        try (OutputStream outputStream = socket.getOutputStream()) {            // 给服务器端发送 10 次消息            for (int i = 0; i < 10; i++) {                // 发送消息                outputStream.write(message.getBytes());            }        }    }}

 

转载地址:https://blog.csdn.net/leijie0322/article/details/112785609 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java之TreeMap浅谈
下一篇:springboot+mysql读写分离

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2023年11月07日 01时25分49秒