树莓派tcp通信,树莓派多线程编程

  树莓派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,

树莓派tcp通信,树莓派多线程编程