什么是socket?
socket又称"套接字",socket向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。
socket函数
socket.socket([family[, type[, proto]]])
socket函数的参数:
- family: AF_UNIX 或者 AF_INET
- type: SOCK_STREAM或SOCK_DGRAM
- protocol: 一般不填默认为0.
socket模块的常用内建方法
服务器端
函数 | 作用 |
---|
bind() | 绑定地址 |
listen() | 监听,参数是为最大人数,超过排队连接 |
accept() | 被动接受信息 |
客户端
公共函数
函数 | 作用 |
---|
recv() | 接收信息 |
send() | 发送信息 |
close0() | 关闭套接字 |
实例
服务器端
import socket
sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sk.bind(("127.0.0.1", 8000))
sk.listen(5)
while True:
clientsk,addr = serversocket.accept()
msg="python socket 套接字编程"
clientsk.send(msg.encode('utf-8'))
clientsk.close()
客户端
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("127.0.0.1", 8000))
msg = s.recv(1024)
print (msg.decode('utf-8'))
s.close()
这时我们先运行服务器端,执行无结果
在运行客户端会发现它打印出了“python socket 套接字编程”
这就说明程序运行成功了