掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流
說明

為海門等地區(qū)用戶提供了全套網頁設計制作服務,及海門網站建設行業(yè)解決方案。主營業(yè)務為網站建設、成都網站設計、海門網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
1、創(chuàng)建SOCKET對象。
2、將socket綁定到指定地址。
3、綁定后必須準備好套接字。
以便接收連接。
4、服務器套接字符等待客戶請求連接。
5、服務器和客戶通過send和reext通信。
6、調用socket關閉連接
實例
import socket #引入套接字模塊
#因為服務器需要同時響應多個客戶端的請求,每一個連接都需要一個進程或新線程#1處理,否則一次只能服務一個客戶
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 是標準的不能隨意使用,1025-9999 可以隨意#1使用
server_socket.bind((host,port)) #參數必須是雙元素元組,步驟2
server_socket.listen(5) #步驟3
while True:
#會返回一個含有兩個元素的元組。第一個元素是一個新的 socket 對象
#服務器通過它與客戶端通信;第二個元素是客戶的互聯(lián)網地址
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()
def tcp_link(sock,addr):
print('Accept new connection from %s:%s...'% addr)
sock.send('歡迎學校 python 網絡編程!'.encode('utf-8')) #send 發(fā)送數據
while True:
data = sock.recv(1024) #recv 接收數據,為一個字節(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建立服務器的方法,希望對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流