Matlab(Client)和Python(Server)进行TCP通信

import socket
import time
#IPV4,TCP协议
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#绑定ip和端口,bind接受的是一个元组
sock.bind((‘172.23.23.89‘,54378))
#设置监听,其值阻塞队列长度,一共可以有5+1个客户端和服务器连接
sock.listen(5)

a=[1,2,3,4]

while True:

    # 将发送数据转化为String
    s=str(a)
    # 等待客户请求
    connection,address = sock.accept()

    # 打印客户端地址
    print("client ip is:",address)
    # 接收数据,并存入buf
    buf = connection.recv(40960)
    print(buf.decode(‘utf-8‘))

    # 发送数据
    connection.send(bytes(s, encoding="utf-8"))
    # 关闭连接
    connection.close()
    time.sleep(1)
 # 关闭服务器
sock.close()
clc
clear

tcpclient = tcpip(‘172.23.23.89‘, 54378, ‘Timeout‘, 60,‘OutputBufferSize‘,10240,‘InputBufferSize‘,10240);%连接这个ip和这个端口的UDP服务器
%t.BytesAvailableFcnMode=‘byte‘
%while(1)
    %a=1:10
    fopen(tcpclient);
    fwrite(tcpclient,‘please sent‘);%发送一段数据给tcp服务器。服务器好知道matlab的ip和端口
    while(1) %轮询,直到有数据了再fread
        nBytes = get(tcpclient,‘BytesAvailable‘);
        if nBytes>0
            break;
        end
    end
    receive = fread(tcpclient,nBytes);%读取tcp服务器传来的数据
    %fread(t)
    %关闭连接
    fclose(tcpclient);
    data=str2num(char(receive(2:end-1)‘)); %将ASCII码转换为str,再将str转换为数组
    disp(data)
%end
delete(tcpclient);

原文地址:https://www.cnblogs.com/xnlcc/p/10067731.html

时间: 2024-11-09 00:57:25

Matlab(Client)和Python(Server)进行TCP通信的相关文章

Android Client 与 C# Server 的Socket通信

C# Socket Server 1.建立C# SocketServer 1 private void ServerStart() 2          { 3              //创建IPEndPoint 4              IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234); 5              //创建Socket实例 6              server_S

[网络篇]ESP8266-SDK教程(三)之TCP通信Server<->Client

纳尼?昨天刚刚打印了个"Hello World!",今天你就让我学习TCP通信?有没有搞错~哈哈,相信很多读者会很迷,其实学习这东西嘛,单单学一些比较简单的,相信没两天就没人看了,所以咱就在基础篇和网络篇穿插着去学习一下ESP8266,毕竟兴趣才是最好的老师嘛!大家以后遇到问题了,来翻文章建议大家根据[XX篇]去快速定位该去哪一篇文章中去查找问题,当然具体会在哪一篇文章中有讲,也不一定了,后面也会穿插着写一点[项目篇][进阶篇][闲扯篇],总的来说就是,本系列文章并没有固定的路线,大家

python中基于tcp协议的通信(数据传输)

tcp协议:流式协议(以数据流的形式通信传输).安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信) tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层.数据链路层.物理层.可以说很多安全数据的传输通信都是基于tcp协议进行的. 为了让tcp通信更加方便需要引入一个socket模块(将网络层.数据链路层.物理层封装的模块),我们只要调用模块中的相关接口就能实现传输层下面的繁琐操作. 简单的tcp协议通信模板:(需要一个服务端和一个客户端) 服务端: fr

python小练习---TCP服务器端

针对于上一篇分享python小练习---TCP客户端 http://www.cnblogs.com/zhaijiahui/p/6926197.html我继续按书中内容,向下进行这里需要强调一个事py3在使用 send() 和 recv() 的时候会出现TypeError: a bytes-like object is required, not 'str'解决方法:send() 里面的内容用 encode('utf-8') 编码发送recv() 用 decode('utf-8') 解码接收 好,

C#+ICE+TCP通信=数据传输

最近项目中运用到了ICE文件传输.第一课(ICE的介绍)   一. 介绍ICE ICE(Internet Communications Engine)是Zeroc提供的一款高性能的中间件.使用ICE能使得(C#.php.c++.java或python)与java,c++,.net,python等进行交互.基于ICE可以实现电信级的解决方案. ICE,是一种流行的面向对象的中间件,用来作网络通讯引擎. 二.ICE 的好处 面向对象的语义,所有的操作调用都使用迟后绑定. 支持同步和异步的消息传递,提

python socket之tcp服务器与客户端demo

python socket之tcp服务器与客户端demo 作者:vpoet 日期:夏季 server: # -*- coding: cp936 -*- ''' 建立一个python server,监听指定端口, 如果该端口被远程连接访问,则获取远程连接,然后接收数据, 并且做出相应反馈. ''' import socket if __name__=="__main__": print "Server is starting" sock = socket.socket

JAVASE02-Unit010: 多线程基础 、 TCP通信

多线程基础 . TCP通信 * 当一个方法被synchronized修饰后,那么 * 该方法称为同步方法,即:多个线程不能同时 * 进入到方法内部执行. package day10; /** * 当多线程并发操作同一资源时,由于线程切换的不确定 * 性,可能导致执行顺序的混乱,严重时可能导致系统 * 瘫痪. * @author adminitartor * */ public class SyncDemo1 { public static void main(String[] args) { f

epoll实现IO复用,TCP通信

函数原型: 函数说明:该函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或经历一段指定的时间后才唤醒它. 参数说明: fds:是一个struct pollfd结构类型的数组,用于存放需要检测其状态的Socket描述符: 每当调用这个函数之后,系统不会清空这个数组,操作起来比较方便:特别是对于socket连接比较多的情况下,在一定程度上可以提高处理的效率:这一点与select()函数不同,调用select()函数之后,select()函数会清空它所检测的socket描述

ACE_linux:TCP通信

1.涉及类 ACE_INET_Addr//ACE网络地址ACE_SOCK_Acceptor//ACE网络服务器ACE_SOCK_Connector//ACE网络客户端ACE_SOCK_Stream//ACE数据流 2.简介 TCP通讯 传输控制协议TCP(Transmission Control Protocol):TCP提供可靠的.面向连接的运输服务,用于高可靠性数据的传输.TCP协议的可靠性是指保证每个tcp报文能按照发送顺序到达客户端. Tcp通信过程一般为如下步骤: a) 服务器绑定端口

异步tcp通信——APM.Core 服务端概述

为什么使用异步 异步线程是由线程池负责管理,而多线程,我们可以自己控制,当然在多线程中我们也可以使用线程池.就拿网络扒虫而言,如果使用异步模式去实现,它使用线程池进行管理.异步操作执行时,会将操作丢给线程池中的某个工作线程来完成.当开始I/O操作的时候,异步会将工作线程还给线程池,这意味着获取网页的工作不会再占用任何CPU资源了.直到异步完成,即获取网页完毕,异步才会通过回调的方式通知线程池.可见,异步模式借助于线程池,极大地节约了CPU的资源. 注:DMA(Direct Memory Acce