Python socket套字节

套接字socket标准:
位于:应用层--(socket抽象层)--传输层 之间

 

#Servre
import socket

phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)   #第一步:初始化socket
phone.bind(('127.0.0.1',8080))                          #第二步:绑定端口
phone.listen(5)                                          #第三步:监听端口
conn, client_add = phone.accept()                        #第四步:接收客户端的connect连接请求
while True:  #数据循环
    try:
        data=conn.recv(1024)                             #第五步:接收客户端传来的数据信息
        if len(data) == 0:break
        conn.send(data.upper())                          #第六步:给客户端回复信息
        print(data)
    except ConnectionResetError:
        break
#传输数据关闭
conn.close()                                             #第七步:传输数据关闭

#连接关闭
# phone.close()                                           #第八步:连接关闭

#为了用户端和服务端能够互相交互延长时间:
    #将发送和接收数据写入到while里面(即建立一个通信循环)
#Client
import socket

phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
phone.connect(('127.0.0.1',8080))
while True:
    msg=input('输入发送的内容:')
    if len(msg) == 0:continue
    phone.send(msg.encode('utf-8'))   #只能传二进制bytes,所以要编码
    data=phone.recv(1024)
    print(data)
phone.close()

 

为了实现和多个客户端进行通信交互:所以在外服务端accept上面加一个while循环

 

posted @ 2018-07-07 13:10  yangzhizong  阅读(902)  评论(0编辑  收藏  举报