Python与Java Socket通信实战:单线程客户端与服务端实现

Miles
Miles
发布时间:2026-10-14 | 6人浏览过
原创

本文详细演示了Python客户端与Java服务端通过Socket进行单线程通信的完整实现。涵盖Java服务端监听端口2580、接收数据并返回响应的代码,以及Python客户端连接、发送消息并接收结果的示例。通过具体代码片段,帮助开发者快速掌握跨语言Socket通信的基本流程与关键参数设置。

Java服务端单线程实现

首先介绍Java服务端的基础实现,采用单线程模式处理连接。服务端代码创建ServerSocket监听指定端口,接受客户端连接后获取输入流和输出流。通过读取字节数组将接收到的数据转换为字符串打印,随后通过输出流发送固定格式的响应字符串,最后关闭服务器连接。该示例展示了Java网络编程中IO流操作的基本步骤,包括端口绑定、数据读写及资源释放。


import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * Server
 */
public class Server {
  public static void main(String[] args) throws IOException {
    ServerSocket server = new ServerSocket(2580);
    Socket socket = server.accept();
    InputStream is = socket.getInputStream();
    OutputStream out=null;
    byte[] bytes = new byte[2048];
    int len = 0;
    String results = null;
    try {
      len = is.read(bytes, 0, 2048);
      results = new String(bytes, 0, len);
      System.out.println("from Client information:" + results);
      out=socket.getOutputStream();
      out.write("J-S-P_ I am Server".getBytes());
    } catch (IOException e) {
      e.printStackTrace();
    }
    
    server.close();
    System.out.println("结束");

  }
}

Python客户端单线程实现

接着展示Python客户端的单线程实现示例。客户端代码定义目标IP为本地回环地址,端口与服务端保持一致,缓冲区大小设为2048字节。创建TCP套接字并连接服务端后,发送包含特定标识的UTF-8编码字符串。随后接收服务端的响应数据,解码为字符串打印输出,最后关闭客户端套接字。该部分代码体现了Python中socket库的基本用法,包括连接建立、数据发送与接收流程。


from socket import *

serverName = '127.0.0.1'
serverPort = 2580
BUFSIZ = 2048
ADDR = (serverName, serverPort)

clientSocket = socket(AF_INET, SOCK_STREAM)
clientSocket.connect(ADDR)
clientSocket.send("J-S-P_ I am Client".encode('utf-8'))
returnData = clientSocket.recv(BUFSIZ)
print('from Server information:%s' % returnData.decode('utf-8'))
clientSocket.close()
print("结束")

总结与扩展

以上即为Python连接Java Socket服务端的完整实现方法。通过上述单线程示例,可以清晰看到两端代码的对应关系及通信流程。如需了解更多相关技术细节或进阶应用场景,建议参考本站往期文章或继续浏览后续内容。感谢阅读,希望本文能为您的开发工作提供帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表