当一个程序需要用不同的语言执行时, 需要建立通信接口来传播数据/指令. 在此使用Socket建立端口, 可以通过TCP/UDP通信. 不同语言数据的转换使用Protocal Buffer, 来对传输内容进行encode/ decode. 当然,也有类似pip通信之类的方式.
1. Socket
关于Python Socket 的一个不错的介绍
关于C Socket的用法
比较详细的Linux socket介绍
另一个C Socket的讲解
G4G源码
WSAData
1.1 Python Socket
import socket
def tcpServer():
host = "127.0.0.1"
port = 5000
s = socket.socket()
s.bind((host, port))
s.listen(1) # 只能同时连接一个
c, address = s.accept()
print("connection from ", str(address))
while True:
data = c.recv(1024) # 接收buffer的大小
if not data:
break
print("from connected user ", str(data))
data = str(data).upper()
print("sending data ", data)
c.send(data)
c.close()
def tcpClient():
host = "127.0.0.1"
port = 5000
s = socket.socket()
s.connect((host, port))
message = input("->")
while message != 'q':
s.send(message)
data = s.recv(1024)
print("Received from server "+ str(data))
message = input("->")
s.close()
def udpServer():
host = "127.0.0.1"
port = 5001
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)