新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python中socket如何建立服務(wù)器
說明

為海門等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及海門網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、海門網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
1、創(chuàng)建SOCKET對象。
2、將socket綁定到指定地址。
3、綁定后必須準(zhǔn)備好套接字。
以便接收連接。
4、服務(wù)器套接字符等待客戶請求連接。
5、服務(wù)器和客戶通過send和reext通信。
6、調(diào)用socket關(guān)閉連接
實例
import socket #引入套接字模塊
#因為服務(wù)器需要同時響應(yīng)多個客戶端的請求,每一個連接都需要一個進程或新線程#1處理,否則一次只能服務(wù)一個客戶
import threading #引入進程模塊
import time
def socket_server():
server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#步驟1
host = socket.gethostname() #獲取本地主機名
port = 5555 #端口號,0-1024 是標(biāo)準(zhǔn)的不能隨意使用,1025-9999 可以隨意#1使用
server_socket.bind((host,port)) #參數(shù)必須是雙元素元組,步驟2
server_socket.listen(5) #步驟3
while True:
#會返回一個含有兩個元素的元組。第一個元素是一個新的 socket 對象
#服務(wù)器通過它與客戶端通信;第二個元素是客戶的互聯(lián)網(wǎng)地址
sock,addr = server_socket.accept() #步驟4
# threading.Thread(target =1,args =2)1 對于函數(shù),2是該函數(shù)需要的參數(shù)
t = threading.Thread(target = tcp_link,args = (sock,addr))
t.start()
def tcp_link(sock,addr):
print('Accept new connection from %s:%s...'% addr)
sock.send('歡迎學(xué)校 python 網(wǎng)絡(luò)編程!'.encode('utf-8')) #send 發(fā)送數(shù)據(jù)
while True:
data = sock.recv(1024) #recv 接收數(shù)據(jù),為一個字節(jié) 1024
time.sleep(1)
if not data or data.decode('utf-8')=='exit':
break;
sock.send(("Hello,%s!"%data.decode('utf-8')).encode('utf-8'))
sock.close()
print('connection from %s:%s closed.'%addr)
def main():
socket_server()
if __name__ =='__main__':
main()以上就是python中socket建立服務(wù)器的方法,希望對大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
網(wǎng)站欄目:創(chuàng)新互聯(lián)Python教程:python中socket如何建立服務(wù)器
新聞來源:http://m.fisionsoft.com.cn/article/cdeodie.html


咨詢
建站咨詢
