Python Server-Client相互通信

时间:2013-12-02 17:29:53

标签: python python-2.7 python-3.x tcpclient tcpserver

我正在尝试修改tcp / ip服务器 - 客户端通信。只有服务器才能与客户端通信。我试图找到一种简单的方法将消息发送回服务器。不是聊天!!只是一个服务器,它将数据发送到客户端并从客户端接收数据。

我正在使用这个例子:

服务器:

    host="my_ip"
    port=4446                  
    from socket import *              
    s=socket()
    s.bind((host,port))                 
    s.listen(1)                         
    print "Listening for connections.. "
    q,addr=s.accept()               
    var = 1
    while var == 1 :
         data=raw_input("Enter data to be send:  ")  
         q.send(data)  
    s.close()

客户端:

    host="my_ip"
    port=4446 
    from socket import *
    s=socket(AF_INET, SOCK_STREAM)
    s.connect((host,port))
    var = 1
    while var == 1 :  
         msg=s.recv(1024)
         print "Message from server : " + msg
         #response = "Message delivered"   # Response to be send 
         #s.sendto(response(host,port)) 
    s.close()

2 个答案:

答案 0 :(得分:0)

Python实际上有一个内置类,让你的生活更轻松。 http://docs.python.org/2/library/socketserver.html。但我不确定我理解你问题的第二部分;您只需将数据发送回服务器,就像服务器将数据发送到客户端一样。

答案 1 :(得分:0)

使用sock.sendall()。此外,你不应该只是命名一个var" var"因为它没有描述它的作用。我会创建一个布尔值,并将其命名为," isListening"或"正在发送"。