Matlab和Python传输数据(TCP通信)

490 阅读1分钟

服务端(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');

%% 设置接收和发送缓存区的最大容量,这里设置的是100010008,也就是一个1000*1000的double类型的数组大小 client.InputBuffersize=8000000; client.OutputBuffersize=8000000;

%% 打开连接,寻找目的服务器,如果未找到,报错 fopen(client);

%% 向服务器发送数据 while 1 pause(1) fprintf(client,text);%发送文本数据 end ———————————————— 版权声明:本文为CSDN博主「Student-F」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/qq_41605934…