2017-05-28 397 views
0

現在我需要的是後,我仍然可以連接的服務器完成一個TAST, 一樣,如果我寫的STR命令「時間」我得到的時間,仍然可以與服務器連接我嘗試添加一些「如果」聲明,併爲「選擇」輸入,但我仍然無法使這項工作,我總是得到空白的答覆和斷開服務器,謝謝你的幫助和對英語的抱歉。插座端和客戶端的響應

我需要一些幫助,這代碼:

import socket 
import time 

server = socket.socket() 
server.bind(('127.0.0.1', 8820)) 
server.listen(1) 
(client_socket, client_address) = server.accept() 
client_rq = client_socket.recv(1024) 
b = time.ctime() 


if client_rq == "name": 
    client_socket.send('the server name is london project') 

if client_rq == "help": 
    client_socket.send('for help with this server connect @gmail.com') 

if client_rq == "time": 
    client_socket.send(b) 

server.close() 

,這是客戶端:

import socket 
client = socket.socket() 
client.connect(('127.0.0.1', 8820)) 

x = raw_input("choice: ") 
client.send(x) 
data = client.recv(1024) 
print data 

client.close() 

回答

0

循環服務器:

import socket 
import time 

server = socket.socket() 
server.bind(('127.0.0.1', 8820)) 
server.listen(1) 
while True: 
    client_socket, client_address = server.accept() 
    client_rq = client_socket.recv(1024) 
    b = time.ctime() 

    if client_rq == "name": 
     client_socket.send('the server name is london project') 

    if client_rq == "help": 
     client_socket.send('for help with this server connect @gmail.com') 

    if client_rq == "time": 
     client_socket.send(b) 

    if client_rq == "quit": 
     break # from the loop 

server.close() 

發送 「退出」,從客戶端打破循環並退出服務器。

+0

謝謝了一種工作,但即時通訊仍然無法完成此之前我做,而在客戶端,我不能創建的「命令」的元組像[「名」,「時間」,「退出」]這一切都像「血乳酸血乳酸」使服務器dosent響應和原始輸入不發送字符串我嘗試如果client_rq不是[ABCD] –

+0

client_rq不是[A,b,C,d]。沒有逗號,所有字符串連成一個。 – phd