一、Client端
# -*- encoding: utf-8 -*-
import socket
import sys
IP = '192.168.43.38' # 填写服务器端的IP地址
port = 40005 # 端口号必须一致
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((IP, port))
except Exception as e:
print('server not find or not open')
sys.exit()
while True:
trigger = input("send:")
s.sendall(trigger.encode())
data = s.recv(1024)
data = data.decode()
print('recieved:', data)
if trigger.lower() == '1': # 发送1结束连接
break
s.close()
二、Server端
import socket
host = "192.168.43.38" # 服务器端可以写"localhost",可以为空字符串"",也为本机IP地址
port = 40005 # 端口号
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
conn, addr = s.accept()
print('connected with', addr)
while True:
data = conn.recv(1024)
data = data.decode()
if not data:
break
print('receive:', data)
send = input('send:')
conn.sendall(send.encode())
conn.close()
s.close()
注意!两台PC必须在同一网段,才能实现连接,进行tcp通信!
最后,我用eclipse和idle分别运行,进行了一小段通信。但这种通信有一个弊端,就是只能等对方发送完消息之后,才能再回复!