根据上次课讲的基本内容,我们本次课开始编写程序建立局域网内的服务器。
建立服务器之前,首先需要将掌控板连接到自己的wifi上。
然后才能通过socket模块建立服务器程序,具体请观看视频教程。
视频中有部分声音出现噪音,请多包涵。
学习笔记:
1、 mywifi.sta.ifconfig() 用于获得当前链接网络的静态IP地址信息,返回类型为4元素元组。如图所示:
其中:
IP地址:192.168.0.4
NETMASK(子网掩码): 255.255.255.0
GATEWAY(网关):192.168.0.1
DNS:类似本地的host文件。公网DNS注册域名。
注意:返回的数据是一个4元组,元组中的每一项都是字符串格式。
2、 socket.bind()
使用该方法绑定地址和端口。
注意:addr变量(元组)中的第一个参数是字符串格式
3、 socket.listen()
该方法用于设定服务器监听客户端请求的最大数目。
4、 socket.accept()
该方法用于等待接收客户端的访问。
需要注意的是:在服务器未接收到任何客户端的访问请求时,程序将停留在该位置,只有有新的请求产生时,程序才能向下进行。所以,如果掌控板在这种情况下,需要处理一些实时程序的话,需要建立定时器中断和外部中断,否则无法对自定义程序进行有效处理。
5、 socket.recv()
接收客户端发来的数据。
注意:socket.recv()接收到的数据是二进制字符串格式(与正常的字符串有些差别,需要使用decode()函数来将其解码转化为正常的字符串)
6、 conn.send()
该方法用于向客户端回复数据。