很多学习计算机网的学生,对于服务器和客户机,以及应用层协议 表示层理解的不彻底,在这里我使用Python编写了用于传输学生信息的程序。服务端使用TCP的8898端口侦听客户端的请求。客户端向服务端发送学生信息。信息的格式已经固定。QQ号+姓名+手机号+地址,每个学生一行。服务端收到后将信息存储到记事本文件。
服务端程序代码:
from socket import *
host = '192.168.80.120'
bufferSize = 1024
port = 8898
sc = (host,port)
s = socket(AF_INET,SOCK_STREAM)
s.bind(sc)
s.listen()
c,addr = s.accept()
data = c.recv(bufferSize)
print(data.decode('utf_8'))
f = open('.\student.txt','a+')
f.write(data.decode('utf_8'))
f.close()
c.send('200,收到学生信息\n'.encode(encoding='utf_8'))
c.close()
s.close()
客户端程序代码:
import socket
sk = socket.socket()
sk.connect(('192.168.80.120',8898))
sk.send('458717185韩立刚13803367991河北省石家庄市藁城市\n434566555韩辉13803443391河南省郑州市长江大道\n'.encode(encoding='utf_8'))
ret = sk.recv(1024)
print(ret.decode('utf_8'))
sk.close()