26 socket簡單操作
阿新 • • 發佈:2019-01-02
一.服務端:(互相傳)
#匯入socket模組 import socket #建立socket物件,建立了一個手機 server = socket.socket() #給程式設定一個ip地址和埠號,買了個手機卡 ip_port = ('192.168.12.11',8002) #繫結ip地址和埠,插卡 server.bind(ip_port) #監聽ip地址和埠,簡稱開機 server.listen() print('111111') #等待建立連線, conn是連線通道,addr是客戶端的地址,阻塞程式 conn,addr = server.accept() print('222222') #服務端通過conn連線通道來收發訊息,通過recv方法,recv裡面的引數是位元組(B),1024的意思1024B=1KB from_client_msg = conn.recv(1024) print('高旺說:',from_client_msg.decode('utf-8')) to_client_msg = input('高旺的女朋友說:') #回覆訊息:通過send方法,引數必須是位元組型別的, conn.send(to_client_msg.encode('utf-8')) #關閉通道,關電話,通過close方法 conn.close() #關閉socket物件,關機 server.close()
客戶端:
#匯入socket import socket #建立一個socket物件 client = socket.socket() #找到服務端的ip地址和埠 server_ip_port = ('192.168.12.11',8002) #連線服務端的應用程式,通過connect方法,引數是服務端的ip地址和埠,打電話 client.connect(server_ip_port) to_server_msg = input('高旺說:') #發訊息,用的send方法,但是呼叫者是client的socket物件 client.send(to_server_msg.encode('utf-8')) from_server_msg = client.recv(1024) print('高旺的女朋友說:',from_server_msg.decode('utf-8')) client.close()
二.服務端(傳給服務端)
#匯入socket模組 import socket #建立socket物件,建立了一個手機 server = socket.socket() #給程式設定一個ip地址和埠號,買了個手機卡 ip_port = ('z',8002) #繫結ip地址和埠,插卡 server.bind(ip_port) #監聽ip地址和埠,簡稱開機 server.listen() #等待建立連線, conn是連線通道,addr是客戶端的地址 conn,addr = server.accept() #服務端通過conn連線通道來收發訊息,通過recv方法,recv裡面的引數是位元組(B),1024的意思1024B=1KB from_client_msg = conn.recv(1024) print('高旺說:',from_client_msg.decode('utf-8')) #回覆訊息:通過send方法,引數必須是位元組型別的, conn.send('約嗎'.encode('utf-8')) #關閉通道,關電話,通過close方法 conn.close() #關閉socket物件,關機 server.close()
客戶端:
#匯入socket import socket #建立一個socket物件 client = socket.socket() #找到服務端的ip地址和埠 server_ip_port = ('192.168.12.11',8002) #連線服務端的應用程式,通過connect方法,引數是服務端的ip地址和埠,打電話 client.connect(server_ip_port) #發訊息,用的send方法,但是呼叫者是client的socket物件 client.send('約嗎?'.encode('utf-8')) from_server_msg = client.recv(1024) print('高旺的女朋友說:',from_server_msg.decode('utf-8')) client.close()