我目前正在涉足套接字。
我有一个 jquery 脚本,它使用非常小的 flash swf 文件来建立真正的套接字连接。作为服务器,我想使用 python。
一切正常,但我只能向服务器发送一次信息。
我已经为服务器尝试了 2 段 python 代码。
我想因为他们都有同样的问题,所以问题不在这里。
# TCP server example
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("", 2000))
server_socket.listen(5)
print "TCPServer Waiting for client on port 2000"
while 1:
client_socket, address = server_socket.accept()
print "I got a connection from ", address
while 1:
data = client_socket.recv(512)
print "RECIEVED:" , data
或者这个:
import socket
mySocket = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
mySocket.bind ( ( '', 2000 ) )
mySocket.listen ( 1 )
while True:
channel, details = mySocket.accept()
print 'We have opened a connection with', details
print channel.recv ( 100 )
channel.close()
在客户端,我使用 http://devpro.it/xmlsocket/
发送一条数据就像执行一样简单
xmls.send('some text');
它到达,但之后它停止工作。
有人知道解决办法吗? 或者我可以使用更好的 javascript/swf 组合?
最佳答案
我认为您需要在关闭连接后再次“收听”。 此外,套接字根据 tcp 规范传送数据。您不能保证在一个套接字读取中获得所有发送的数据。我看不到执行多次读取并组装完整的“消息”
关于javascript - Python 套接字服务器在收到数据后崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3198050/