Can';t将消息从python服务器发送到java客户端

Can';t将消息从python服务器发送到java客户端,java,python,sockets,server,Java,Python,Sockets,Server,我试图通过本地网络在我的Raspberry Pi(Python中的服务器)和java客户机之间创建一个客户机/服务器应用程序 我不知道如何将消息从Python服务器发送到Java客户端。我总是有错误:[Errno 32]管道破裂 我看不出我错在哪里 以下是服务器代码: class ServerLED(): ''' classdocs ''' def __init__(self, port = 15555): ''' Constructor ''' self.s

我试图通过本地网络在我的Raspberry Pi(Python中的服务器)和java客户机之间创建一个客户机/服务器应用程序

我不知道如何将消息从Python服务器发送到Java客户端。我总是有错误:[Errno 32]管道破裂

我看不出我错在哪里

以下是服务器代码:

class ServerLED():
'''
classdocs
'''


def __init__(self, port = 15555):
    '''
    Constructor
    '''
    self.socketPi = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    self.socketPi.bind(("", port))
    self.response = ""

def listening(self):
    self.socketPi.listen(5)
    self.client, self.address = self.socketPi.accept()
    print "{} connected".format( self.address )

def receivingMessage(self):
    self.response = self.client.recv(1024)
    if self.response != "":
            print self.response

def answer(self):
    messageTosend = "Echo \r\n"
    try:
        self.socketPi.send(messageTosend)
    except socket.error, e:
        print "error is ", e
        self.socketPi.close()
我是这样使用函数的:

socketPi = Server.ServerLED()
print "listening..."
socketPi.listening()
print "sending message..."
socketPi.answer()
print "done"
socketPi.receivingMessage()
在客户端(JAVA中):

我总是卡在服务器的第一个“send()”中。 如果我从客户端向服务器发送消息开始,服务器会读取消息,但没有响应

服务器输出:

Start python for LED
listening...
('192.168.1.13', 58774) connected
sending message...
error is  [Errno 32] Broken pipe
有人知道我错在哪里吗? 非常感谢


Maxime.

这通常是一个奇怪的设置,但在服务器中,您应该通过连接套接字(self.client)而不是侦听套接字(self.socketPi)发送。

这通常是一个奇怪的设置,但在服务器中,您应该通过连接套接字(self.client)而不是侦听套接字(self.socketPi)发送.

一个问题是,您在java中创建的套接字不是,也就是说,套接字对象刚刚创建,但在等待raspberry pi传入套接字连接时没有打开

添加行

socket.bind(new java.net.InetSocketAddress("192.168.1.18", 15555));

在创建套接字之后。
Socket
构造函数中的地址可能不是必需的。

一个问题是,您在java中创建的套接字不是必需的,也就是说,套接字对象刚刚创建,但在等待raspberry pi传入套接字连接时未打开

添加行

socket.bind(new java.net.InetSocketAddress("192.168.1.18", 15555));

在创建套接字之后。
Socket
构造函数中的地址可能不是必需的。

我最近编写了一些类似于python服务器的东西,我使用了一个名为asynchat的python模块,它很容易实现。我最近写了一些类似于python服务器的东西,我使用了一个名为asynchat的python模块,它很容易实现。