接收端 9102端口接收中转服务端信息
import socket
HOST = '' # Symbolic name meaning all available interfaces
PORT = 9102 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(5)
# while 1:
#conn.sendall(bytes("done",'utf-8'))
while 1:
conn, addr = s.accept()
print('Connected by', addr)
while 1:
data = conn.recv(1024)
if not data:
break
print(data)
# break
conn.close()
# if not data: break
# conn.sendall(data)
s.close()
中转服务端
两个socket 一个服务接收9100端口
一个发送到9102端口
import socket
from time import ctime
HOST = '' # Symbolic name meaning all available interfaces
PORT = 9100 # Arbitrary non-privileged port
tcps = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcps.bind((HOST, PORT))
tcps.listen(5)
# while 1:
#conn.sendall(bytes("done",'utf-8'))
#data = conn.recv(1024)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1' , 9102))
#s.sendall('Hello, world')
#data = s.recv(1024)
#print(data)
while 1:
conn, addr = tcps.accept()
print('Connected by', addr)
while 1:
data=conn.recv(1024)
if not data:
break
#print(conn.recv(1024))
s.send(data )
#print("----")
conn.send(('[%s] %s' % (ctime(), data)).encode())
# break
conn.close()
# if not data: break
# conn.sendall(data)
s.close()
tcps.close()
客户端
import socket
HOST = '127.0.0.1' # The remote host
PORT = 9100 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# create a raw socket and bind it to the public interface
#s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.connect((HOST, PORT))
#s.sendall('Hello, world')
#data = s.recv(1024)
#print(data)
while 1:
data = input('>')
#data = str(data)
if not data:
break
s.send(data.encode())
#s.send(bytes("hell",'utf-8') )
data1 = s.recv(1024)
print(data1.decode('utf-8'))
print("----")
s.close()
client
>a
[Fri Jul 30 15:00:40 2021] b'a'
---
>
接收端
Connected by ('127.0.0.1', 56244)
b'a'