树莓派 Python 网络编程 (Socket入门)
树莓派 Python 网络编程 (Socket入门)
什么是 Socket?
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。
Python 提供了两个级别访问的网络服务。:
- 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。
- 高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。
服务端
1、socket():创建一个socket 例子:s =socket.socket()
2、bind(): 绑定IP地址和端口,他接受是一个元组数据 例子 s.bind(("127.0.0.1",8088))
3、listen():定义最多能挂起的数目 。例子: s.listen(2) 允许两个客户端等待发送信息 (挂起)
4、accept():创建主机和客户的连接 conn.addr=s.accept()
以下是服务器端代码,server.py
import socket # 导入 socket 模块
s = socket.socket() # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345 # 设置端口
s.bind((host, port)) # 绑定端口
s.listen(5) # 等待客户端连接while True:
c, addr = s.accept() # 建立客户端连接。
print '连接地址:', addr
c.send('欢迎访问树莓派课程!')
c.close() # 关闭连接
客户端
1、socket() :创建socket s=socket.socket()
2、connect():用自己的对象去连接服务端 s.connect(("127.0.0.1",8088))
以下是客户端代码,client.py
import socket # 导入 socket 模块
s = socket.socket() # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345 # 设置端口号
s.connect((host, port))print s.recv(1024)
s.close()
具体操作步骤:
现在我们打开两个终端(或者两个python IDLE),第一个终端执行 server.py 文件:
第二个终端执行 client.py 文件:
这时我们再打开第一个终端(服务器端),就会看到有以下信息输出:连接地址: ('192.168.0.118', 62461)
这时我们打开客户端,就会看到有以下信息输出: b'hello'
好了,这次分享到这里了,欢迎指正,感谢观看。