tcp编程-python

服务端:

import socket

word={'a':'1','b':'2','c':'3','d':'4','e':'5','bye':'bye'} 
host=''
port=50007
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(1)  
print('listening at a port:',port)
conn,addr=s.accept()
print('conn by:',addr)
while True:
    data=conn.recv(1024)
    data=data.decode()
    if not data:
        break
    print('Recev massage:',data)
    conn.sendall(word.get(data,'nothing').encode())
conn.close()

客户端:

import socket

host='127.0.0.1'
port=50007
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
    s.connect((host,port))
except Exception as e:
    print('not open or no found')
    sys.exit()

while True:
    c=input('input a letter:')
    s.sendall(c.encode())
    data=s.recv(1024)
    data=data.decode()
    print('receive:',data)
    if c.lower()=='bye':
        break
s.close()

tcp编程-python

1、运用accept()收到connect()请求

2、data=conn.recv(1024)收到s.sendall(c.encode())的信息

3、data=data.decode()转码

4、关于decode()和enconde():发送端用encode(),接受端用decode()