windows --> windows 寫法均在py3.6linux
客戶端寫法windows
import socket client = socket.socket() client.connect(('192.168.88.1', 9001)) while 1: data_recv = client.recv(1024).decode('utf-8') print(data_recv) data_sent = input('client:') client.send(data_sent.encode('utf-8')) if data_sent == 'exit': break client.close()
服務端寫法bash
import socket server = socket.socket() server.bind(('192.168.88.1', 9001)) server.listen(5) print('等待連接中。。。。。') conn, addr = server.accept() # 監聽返回 連接和 地址 print('connect succeed !') while 1: data_send = input('server:') conn.send(data_send.encode('utf-8')) data_recv = conn.recv(1024) print(data_recv.decode('utf-8')) if data_recv.decode('utf-8') == 'exit': break conn.close()
服務端Linux(py2.7) 客戶端 windows(py3.6)socket
linux 服務端spa
#!usr/bin/bash pyhton #_*_ coding:utf8 _*_ # 支持中文 公網聊天 import socket import sys reload(sys) sys.setdefaultencoding('utf-8') # 爲了支持中文 加入以上代碼 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 參數的做用是指定協議 必須加 addr_port = ('172.17.226.72',3389) # Linux 中不許綁定公有ip 服務端必須綁定公網ip 端口必須是開放的 server.bind(addr_port) server.listen(5) conn,addr = server.accept() print('connect succeet') while 1: data_send = raw_input('server:') conn.send(data_send.encode('utf-8')) data = conn.recv(1024) print(data.decode('utf-8')) conn.close()
windows 客戶端寫法code
import socket test = socket.socket() test.connect(('39.106.40.169', 3389)) # 連接公網ip 與對應端口 while 1: data = test.recv(1024).decode('utf-8') print(data) data_send = input('-----') test.send(data_send.encode('utf-8'))