19
2016
10

python socket 编程 (简单的服务器和客户端)

server.py

#Echo server program
import socket
 
HOST=''  #空代表0.0.0.0
PORT= 8080  #监听端口
s= socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
s.bind((HOST,PORT)) 
s.listen(1)
 
 
while True:
    conn,addr= s.accept()  
 
    print('Connected by ' + str(addr))
 
    while  True:
        try:
            data = conn.recv(1024) #接收1024字节数据
            if not data: break     #如果收不到客户端数据了(代表客户端断开了),就断开
            #conn.sendall(data.upper())    #将收到的数据全变成大写再发给客户端
            conn.sendall(data)
            print("%s" % data.decode('utf-8'))
        except:
            print("error");
            break
 
    conn.close() #关闭此客户端的连接实例

client.py

import socket
HOST= '127.0.0.1' # 远程socket服务器ip
PORT= 8080         # 远程socket服务器端口
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #实例化socket
s.connect((HOST,PORT)) #连接socket服务器
while True:
    msg = input("input:").strip() #让用户输入消息,去除回车和空格
    if not msg: continue 
    if msg == "exit": break
    #s.sendall(msg) #向服务器发送消息
    s.sendall(msg.encode('UTF-8'))
    data= s.recv(1024)       #接收服务器的消息
     
    print('Received: %s' % str(data.decode("UTF-8")))
s.close()



« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。