使用TCPIP流套接字,尝试让用Python编写的服务器从用Java编写的客户端读取数据

时间:2018-10-12 14:11:24

标签: java python

我有测试代码,该代码在Python中创建服务器,并尝试从在Java中创建的客户端读取字符串。服务器和客户端都抛出异常。

服务器端: 当python尝试执行print(s.recv(1024))
时 它给我一个错误的说法

  

OSError:[WinError 10057]发送或接收数据的请求是   不允许,因为未连接套接字,并且(在发送   使用sendto的数据报套接字

客户端: 在客户端(java)上,它尝试执行output.writeChars("back");
时会引发异常 给出错误信息

  

软件软件导致连接中止套接字写入错误错误   java.net.SocketException:软件导致连接中止:套接字   写错误

测试代码服务器

import socket

s = socket.socket()
print
"Socket successfully created"

port = 12355
s.bind(('', port))

s.listen(5)
print
"socket is listening"

while True:
    print("waiting for connection")
    # Establish connection with client.
    c, addr = s.accept()
    print
    'Got connection from', addr

    CODE CRASHES HEAR
    print("trying to get data")
    print(s.recv(1024))

测试代码客户端

Socket MyClient=null;
try {
    MyClient = new Socket("localhost", 12355);
}
catch (IOException e) {
    System.out.println(e);
}
DataOutputStream output=null;
try {
   output = new DataOutputStream(MyClient.getOutputStream());
}
catch (IOException e) {
   System.out.println(e);
}
try {
    code crashed hear
    output.writeChars("back");
} catch( Exception e)
{
    System.out.println(e);
}

0 个答案:

没有答案