树莓派tcp通信,树莓派多线程编程
# #插座
百度socket显示,socket通常被称为“socket”,用来描述IP地址和端口,是用来实现不同虚拟机或不同计算机之间通信的通信链的句柄。
# #套接字通信
下图是socket服务器与客户端的通信过程,下面简单介绍一下编程。
使用套接字通信,首先介绍套接字模块。
` ` ` python
导入插座
``````
### TCP服务器
1.服务器创建一个套接字,并将该套接字绑定到本地IP和端口。
Socket(family,type[,protocal])使用指定的套接字系列、套接字类型和协议号(默认值为0)创建套接字。
` ` ` python
s=socket.socket(socket.af_inet,socket。SOCK_STREAM).
s.bind())
``````
2.开始拦截链接。
南听着(Backlog))。
Backlog是系统在拒绝链接之前可以挂起的最大连接数,至少为1。
` ` ` python
南听着.
``````
3.进入循环,继续接收来自客户端的链接请求。
` ` ` python
虽然正确:
s.accept()).
``````
Accept))接受TCP链接并返回(conn,address)。其中conn是可用于发送和接收数据的新套接字对象,address是链接客户端的地址。
4.从客户端接收数据,并向另一方发送数据。
` ` ` python
s.recv()).
s.sendall()).
``````
注意:
并且服务器和客户端不能直接发送具有数据类型的格式,例如列表、元素或字典。发送的内容必须是字符串数据。
5.传输结束后,关闭插座。
` ` ` python
s.close())
``````
# # # #简单的服务器端代码
` ` ` python
导入插座
主机,端口=,8000
s=socket.socket(socket.af_inet,socket。SOCK_STREAM).
s.bind((主机,端口) )
南听着.
“打印”服务器启动:% s:% s“%(主机,端口)
打印“等待连接”
虽然正确:
接受(
打印“连接”,地址
虽然正确:
DATA=Conn.recv(1024)
打印数据
conn . send(servereceivedyoumessage。 )。
conn.close()
s.close())
``````
TCP客户端
1.创建一个套接字并链接到一个远程地址(服务器)
` ` ` python
s=socket.socket(socket.af_inet,socket。SOCK_STREAM).
s.connect())
``````
调用客户端connect()方法建立与服务器的链接,并开始三次握手。握手可以确保客户端成功连接到服务器。反之亦然。
2.连接以发送和接收数据
` ` ` python
s.sendall()).
s.recv()).
``````
3.传输完成后关闭插座。
` ` ` python
s.close())
``````
# # # #简单的客户端代码
` ` ` python
导入插座
主机,端口=192.168.0。118 ,8000
s=socket.socket(socket.af_inet,socket。SOCK_STREAM).
s.connect()端口,PORT))
虽然正确:
CMD=raw_input(inputmsg:)
我是s.send(cmd)
DATA=s.recv(1024)).
打印数据
s.close())
``````
参考:冯/2340821,