python实现客户端之间的通信_python客户端与java之间的通信

我的目标是从python socket向javasocket发送消息。我确实注意到了上面提到的资源。然而,我正在努力使Python客户机与Java服务器对话。主要是因为python中的(行尾)与java中的不同。

假设我是从python客户端写入的:消息1:abcd消息2:efgh消息3:q(要退出)

在java服务器上:我收到消息1:abcdefghq,后面跟着异常,因为python客户端已经从它的一端关闭了套接字。

有谁能为java和python之间的一致性对话提出一个解决方案吗。

更新:我忘记添加,我正在处理TCP。

我的JAVA代码是这样的:(服务器套接字)String fromclient;

ServerSocket Server = new ServerSocket (5000);

System.out.println ("TCPServer Waiting for client on port 5000");

while(true)

{

Socket connected = Server.accept();

System.out.println( " THE CLIENT"+" "+ connected.getInetAddress() +":"+connected.getPort()+" IS CONNECTED ");

BufferedReader inFromClient = new BufferedReader(new InputStreamReader (connected.getInputStream()));

while ( true )

{

fromclient = inFromClient.readLine();

if ( fromclient.equals("q") || fromclient.equals("Q") )

{

connected.close();

break;

}

else

{

System.out.println( "RECIEVED:" + fromclient );

}

}

}

我的PYTHON代码:(客户端套接字)client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

client_socket.connect(("localhost", 5000))

while 1:

data = raw_input ( "SEND( TYPE q or Q to Quit):" )

if (data <> 'Q' and data <> 'q'):

client_socket.send(data)

else:

client_socket.send(data)

client_socket.close()

break;

输出:

在PYTHON控制台(客户端)上:

发送(键入q或q以退出):abcd(按ENTER键)

发送(键入q或q退出):efgh(按ENTER键)

发送(键入q或q退出):q(按ENTER键)

在JAVA控制台(服务器)上:

TCPServer正在端口5000上等待客户端

客户端/127.0.0.1:1335已连接

收件人:abcdefghq

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值