2014-01-19 66 views
0

我的对象是能够重复发送一些字符串从客户端到服务器,也从服务器到客户端。这些脚本帮助我发送一条消息(从客户端到服务器的一条消息,然后从服务器到客户端的一条消息)。我想发送(在两个)在某种循环。发送字符串往返服务器/客户端(python)

这是我Server.py

import socket 

serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
host = "192.168.1.3" 
port = 8000 
print (host) 
print (port) 
serversocket.bind((host, port)) 

serversocket.listen(5) 
print ('server started and listening') 
while 1: 
    (clientsocket, address) = serversocket.accept() 
    print ("connection found!") 
    data = clientsocket.recv(1024).decode() 
    print (data) 
    r=input('ENTER HERE') 
    clientsocket.send(r.encode()) 

,这里是我的Client.py

#! /usr/bin/python3 

import socket 

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
host ="192.168.1.3" 
port =8000 

s.connect((host,port)) 


r=input('Enter message ') 
s.send(r.encode()) 
data = '' 
data = s.recv(1024).decode() 
print (data) 




s.close() 

我希望能够从两个服务器发送字符串以及客户端。但现在,服务器正在侦听客户端的消息。客户端发送消息后,服务器才能够返回消息。

除此之外,我每次只能发送1条消息。 如何启用独立消息传输(以及无限数量的消息)?

回答

1

您将需要线程。

在服务器中,客户端连接后创建两个单独的线程。一个线程将不断侦听传入的消息,另一个线程将处理消息的发送。同样的事情将适用于客户端。

//server 
//client is client_socket 
def thread_read(client): 
    listen_for_incoming_messages_from_client 

def thread_write(client): 
    message_sending_code_here 


and for client side, parameter will be server (server_socket) 

这样,您就可以处理客户端和服务器

+0

我是新来的Python之间是独立的消息。你能给我更新的Python文件吗? –

+0

对不起伙伴,我没有编码他们..只是谷歌“线程蟒蛇”,并提及他们..我相信,你会相处的,因为理解他们是相当容易和乐趣\ –

+0

我已经开发聊天应用程序在C++和soure太重了,所以对于每种编程语言来说都是一样的 –

相关问题