socket:
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作“套接字”,用于藐视IP地址和端口,是一个通信链的句柄,可以用来实现不同的虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务
现在是初学,把Socket理解为一个电话拨通电话,接听电话!通信的一个概念!
Socket在写的时候要记住:有发就有收,收发必相等!一发一收,四字秘诀!
第一个Socket代码
import socket #创建socket对象 sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #设置监听的IP与端口 sk.bind(('127.0.0.1',6666)) #设置client最大等待连接数 sk.listen(5) while True: print("waiting client connection............") #只有accept & recv会阻塞,这里accept阻塞,直到client连接过来 #connection代表客户端对象,address是客户端的IP connection,address = sk.accept() #等待接收客户端信息 client_message = connection.recv(1024) #打印客户端信息 print('client send message',client_message) #发送回执信息给client ,收发必须相同 connection.sendall(bytes('hello Client this server','utf8')) #关闭和client的连接 connection.close()