很多学习计算机网的学生,对于服务器和客户机,以及应用层协议 表示层理解的不彻底,在这里我使用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()