当前位置: 首页 > 图灵资讯 > 行业资讯> python中socket如何建立服务器

python中socket如何建立服务器

来源:图灵python
时间: 2024-07-04 14:39:11

说明

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=555#端口号,0-1024是不能随意使用的标准,1025-9999可以随意使用
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基础教程

本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。