SOCKET 的簡單使用
-
server端:
import socket so = socket.socket() #創(chuàng)建套接字 so.setsockopt(socket.SOL_SOCKET, soket.SO_REUSEADDR, 1) #防止端口被長期占用 so.bind( ("IP",端口)) #綁定你要開啟服務(wù)的端口 so.listen() connet ,addr = so.accept() #等待鏈接后重新分配一個(gè)端口 # addr 為請求方的地址和端口 # connet 為重新分配的套接字笋籽,為本次連接的客戶端服務(wù) ret = connet.recv(1024) #等待接收字節(jié)數(shù)據(jù) # 處理你的數(shù)據(jù) print(ret) connet.close() #關(guān)閉本次連接 so.close() #關(guān)閉本程序連接
-
client端:
import socket so = socket.socket() # 創(chuàng)建套接字 so.connect(("IP", 端口)) # 連接要發(fā)送的地址和端口 so.send(b"字節(jié)數(shù)據(jù)") # 發(fā)送字節(jié)數(shù)據(jù) so.close() # 關(guān)閉本次連接
-
作業(yè):
1. 循環(huán)對話聊天 2. server: #接收時(shí)間戳?xí)r間劝篷,轉(zhuǎn)換成格式化時(shí)間\ client: 每10秒鐘發(fā)送一次時(shí)間戳
-
循環(huán)聊天:
1、server端: import socket Addr = "127.0.0.1" Port = 9000 so = socket.socket() so.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) so.bind((Addr, Port)) so.listen() connect, addr = so.accept() print(str(addr) + "已經(jīng)連接") while True: ret = connect.recv(1024).decode("utf-8") if ret == "bye": break else: print(ret) info = input(">>>輸入要發(fā)送的內(nèi)容:") connect.send(bytes(info, encoding="utf-8")) connect.close() so.close() 2、client端: # coding:UTF-8 import socket Addr = "127.0.0.1" Port = 9000 so = socket.socket() so.connect((Addr, Port)) while True: info = input(">>>輸入你要發(fā)送的內(nèi)容:") so.send(bytes(info, encoding="utf-8")) ret = so.recv(1024).decode("utf-8") if ret == "bye": print("斷開連接") break print(ret) so.close()
-
定時(shí)時(shí)間轉(zhuǎn)換:
1舒萎、server端: import socket import time Addr = "127.0.0.1" Port = 9000 so = socket.socket() so.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) so.bind((Addr, Port)) so.listen() connect, addr = so.accept() while True: ret = connect.recv(1024).decode("utf-8") ret = time.localtime(float(ret)) print(time.strftime("%Y-%m-%d %H:%M:%S", ret)) connect.close() so.close() 2、client端: # coding:UTF-8 import socket import time Addr = "127.0.0.1" Port = 9000 so = socket.socket() so.connect((Addr, Port)) while True: time.sleep(10) so.send(bytes(str(time.time()), encoding="utf-8")) so.close()