0
我試圖創建一個python服務器,這將有助於通過插座從外源的電話。所以我瀏覽了文檔並複製了這些代碼,我可以連接但沒有顯示發送的數據。我究竟做錯了什麼 ?Python的服務器託管插座和讀取數據
import SocketServer
class MyUDPHandler(SocketServer.BaseRequestHandler):
def handle(self):
self.data = self.rfile.readline().strip()
print "%s wrote:" % self.client_address[0]
print self.data
self.wfile.write(self.data.upper())
if __name__ == "__main__":
HOST, PORT = "localhost", 80
try:
server = SocketServer.UDPServer((HOST, PORT), MyUDPHandler)
print("working")
server.serve_forever()
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind((socket.gethostname(), 80))
serversocket.listen(5)
except:
print("not working")
while True:
(clientsocket, address) = serversocket.accept()
ct = client_thread(clientsocket)
ct.run()
class mysocket:
def __init__(self, sock=None):
if sock is None:
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
else:
self.sock = sock
def connect(self, host, port):
self.sock.connect((host, port))
def mysend(self, msg):
totalsent = 0
while totalsent < MSGLEN:
sent = self.sock.send(msg[totalsent:])
if sent == 0:
raise RuntimeError("socket connection broken")
totalsent = totalsent + sent
def myreceive(self):
msg = ''
while len(msg) < MSGLEN:
chunk = self.sock.recv(MSGLEN-len(msg))
if chunk == '':
raise RuntimeError("socket connection broken")
msg = msg + chunk
return msg
此外,如果這段代碼是正確的 - 如何使用它?我只是用python server.py設置服務器,它創建了MyUdpHandler的一個實例,但接下來呢?
,而且如果這個代碼是正確的 - 怎麼告呢?我現在只是使用python server.py來創建MyUdpHandler的一個實例,但接下來呢? – decarbo 2010-11-09 23:24:00
我們應該如何知道您想如何使用代碼? – Falmarri 2010-11-09 23:43:08
我想通過套接字將一些數據發送到我的服務器,並返回並在控制檯中顯示它。 – decarbo 2010-11-10 00:23:40