Программирование сокетов - PullRequest
0 голосов
/ 10 сентября 2009

Пожалуйста, посмотрите на мой код:

from twisted.internet.protocol import ServerFactory
from twisted.internet import reactor
from twisted.protocols import basic


class ThasherProtocol(basic.LineReceiver):
    def lineReceived(self, line):
        print line
        self.transport.write( 1 )
        self.transport.loseConnection()



class ThasherFactory(ServerFactory):
    protocol = ThasherProtocol 


reactor.listenUNIX( "/home/disappearedng/Desktop/test.sock" , ThasherFactory() )
reactor.run()



===


import socket
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM )
s.connect( "/home/disappearedng/Desktop/test.sock")
s.sendall('hello')
print s.recv(4096)
# Hangs

Почему оно висит? Почему он не возвращает 1?

1 Ответ

2 голосов
/ 10 сентября 2009

Вы должны отправить строку, а не просто привет, чтобы вызывать lineReceived например s.sendall('hello\r\n')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...