1. 程式人生 > >網絡編程之模塊的使用

網絡編程之模塊的使用

iso bre 同時 如果 conn aps -a closed bsp

socket模塊的使用

1.模仿CS 架構模型

1.1簡版

服務器端

技術分享圖片
import socket
server = socket.socket() #創建一個服務器對象
ip_port = (192.168.15.79,8080)#創建一個元組
server.bind(ip_port) #將服務器和ip地址進行綁定
server.listen(3)  #設置服務器可以同時監聽多少個客戶端
con,addr =server.accept()#接收客戶端發送過來的東西,如果協商成功,就建立相應的隧道
# print(con)#兩者協商通信的協議,使用的ip地址和端口號
# #<socket.socket fd=96, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=(‘192.168.15.79‘, 8080), raddr=(‘192.168.15.79‘, 57945)>
print(addr)#(‘192.168.15.79‘, 57945) 連接的客戶端的地址和端口號 Client = con.recv(1024)#設置接收的最大的文件的大小,並將接收到的信息進行賦值 print(客戶端消息:,Client) con.send(byou are over)#向客戶端發送相關的信息,但只能發送呢bytes類型 con.close() server.close()
View Code

客戶端

技術分享圖片
import socket
client = socket.socket()#創建客戶端
Server_ip = (192.168.15.79,8080) #
設置連接服務器的ip地址和端口 client.connect(Server_ip) #連接服務器 client.send(bcisoc)#連接完成後向服務端發送信息 cc = client.recv(1024) #設置接收文件的大小 print(cc) client.close()
View Code

加強版

服務端

技術分享圖片
import socket
import time
server = socket.socket()
ip = (192.168.15.79,8080)
server.bind(ip)
server.listen(4)
con,addr = server.accept()

while 1: Input_server = input(服務器端的消息:).encode(utf-8) con.send(Input_server) resever_msg = con.recv(1024).decode(utf-8) print(resever_msg) a = eval(con.recv(1024).decode(utf-8)) gg = time.localtime(a) print(time.strftime(%Y-%m-%d %H:%M:%S, gg)) if Input_server == bye.encode(utf-8): break server.close() con.close()
View Code

客戶端

技術分享圖片
import socket
import time
client = socket.socket()
ip = (192.168.15.79,8080)
client.connect(ip)
while 1 :
    Resver_msg = client.recv(1024).decode(utf-8)
    print(Resver_msg)
    Input_client = input(客戶端輸入:).encode(utf-8)
    Time_Send = str(time.time()).encode(utf-8)

    client.send(Input_client)
    client.send(Time_Send)
    if Input_client == bye.encode(utf-8):
        break
client.close()
View Code

網絡編程之模塊的使用