发布时间:2022-05-13 文章分类:Python 知识 投稿人:李佳 字号: 默认 | | 超大 打印

python中socket如何建立服务器

说明

1、创建socket对象。

2、将socket绑定到指定地址。

3、绑定后必须准备好套接字。

以便接收连接。

4、服务器套接字符等待客户请求连接。

5、服务器和客户通过send和reext通信。

6、调用socket关闭连接

实例

importsocket#引入套接字模块
#因为服务器需要同时响应多个客户端的请求,每一个连接都需要一个进程或新线程#1处理,否则一次只能服务一个客户
importthreading#引入进程模块
importtime

defsocket_server():
server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#步骤1

host=socket.gethostname()#获取本地主机名

port=5555#端口号,0-1024是标准的不能随意使用,1025-9999可以随意#1使用
server_socket.bind((host,port))#参数必须是双元素元组,步骤2
server_socket.listen(5)#步骤3

whileTrue:
#会返回一个含有两个元素的元组。第一个元素是一个新的socket对象
#服务器通过它与客户端通信;第二个元素是客户的互联网地址
sock,addr=server_socket.accept()#步骤4
#threading.Thread(target=1,args=2)1对于函数,2是该函数需要的参数
t=threading.Thread(target=tcp_link,args=(sock,addr))
t.start()

deftcp_link(sock,addr):
print('Acceptnewconnectionfrom%s:%s...'%addr)
sock.send('欢迎学校Python网络编程!'.encode('utf-8'))#send发送数据
whileTrue:
data=sock.recv(1024)#recv接收数据,为一个字节1024
time.sleep(1)
ifnotdataordata.decode('utf-8')=='exit':
break;
sock.send(("Hello,%s!"%data.decode('utf-8')).encode('utf-8'))
sock.close()
print('connectionfrom%s:%sclosed.'%addr)

defmain():
socket_server()

if__name__=='__main__':
main()

以上就是python中socket建立服务器的方法,希望对大家有所帮助。更多Python学习指路:Python基础教程