服务端(python)
import socket
# 明确配置变量
ip_port = ('192.168.1.101',22)
back_log = 5
buffer_size = 1024
# 创建一个TCP套接字
ser = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 套接字类型AF_INET, socket.SOCK_STREAM tcp协议,基于流式的协议
ser.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) # 对socket的配置重用ip和端口号
# 绑定端口号
ser.bind(ip_port) # 写哪个ip就要运行在哪台机器上
# 设置半连接池
ser.listen(back_log) # 最多可以连接多少个客户端
while 1:
# 阻塞等待,创建连接
con,address = ser.accept() # 在这个位置进行等待,监听端口号
while 1:
try:
# 接受套接字的大小,怎么发就怎么收
msg = con.recv(buffer_size)
if msg.decode('utf-8') == '1':
# 断开连接
con.close()
print(msg.decode('utf-8'))
except Exception as e:
break
# 关闭服务器
ser.close()
客户端(matlab)
%% 远程主机为localhost,即本地主机,要连接的目的端口为30000,作为客户机使用
client=tcpip('192.168.1.101',22,'NetworkRole','client');
%% 设置接收和发送缓存区的最大容量,这里设置的是1000*1000*8,也就是一个1000*1000的double类型的数组大小
client.InputBuffersize=8000000;
client.OutputBuffersize=8000000;
%% 打开连接,寻找目的服务器,如果未找到,报错
fopen(client);
%% 向服务器发送数据
while 1
pause(1)
fprintf(client,text);%发送文本数据
end