华南Faker

导航

 

python的socket编程小结

TCP socket编程

client客户端编程

import socket
sk = socket.socket() #买个手机
sk.connect(('127.0.0.1',9000))#拨号
while True:
    msg = sk.recv(1024)
    print(msg.decode('utf-8'))
    if msg == b'q':break
    inp = input('>>>')
    if inp == 'q':
        sk.send(inp.encode('utf-8'))
        break
    sk.send(inp.encode('utf-8'))
sk.close()

编码小插曲

  1. 需要注意的是send发送的bytes类型。
  2. python默认编码是Unicode
  3. string数据类型是Unicode,bytes是除Unicode的其他类型编码,可以是utf-8也可以是gbk
  4. encode('utf-8')编码 string to utf-8的byte
  5. decode('utf-8')解码 utf-8的bytes to string

sever编程

import socket
sk = socket.socket()#买个手手机
sk.bind(('192.168.21.36',9000))#绑定手机卡
sk.listen() #监听手机
while True:
    conn,addr = sk.accept()  # 接收到别人的电话  conn连接 ,addr地址
    while True:
        inp = input('>>>')
        if inp == 'q':
            conn.send(inp.encode('utf-8'))
            break
        conn.send(inp.encode('utf-8'))
        msg = conn.recv(1024) #接收到别人发的信息
        if msg == b'q':break
        print(msg.decode('utf-8'))
    conn.close()   
sk.close()

 

posted on 2019-07-11 15:39  华南Faker  阅读(89)  评论(0)    收藏  举报