项目需要要从C#传实时数据到Matlab到数据分析,应该很多人也有这个需求,但是网上这方面的数据比较少,所以我把代码稍微贴下

首先是C#的部分

//介于我是同台电脑上传数据,直接用自己的IP建一个Server
IPAddress ip = IPAddress.Parse("192.168.65.1");
TcpListener server = new TcpListener(ip, );//端口选5000以上比较好,可以多试试
server.Start(); // 开始侦听
TcpClient client = server.AcceptTcpClient();

到此为止,server就建成了,之后我们进行数据流部分

NetworkStream sendStream = client.GetStream();//获得用于数据传输的流
String s = "Anything U Like";
byte[] buffer = Encoding.Default.GetBytes(s.Trim());//将数据存进缓存中
sendStream.Write(buffer, , buffer.Length);//最终写入流中
NetworkStream实例建成之后,字符串s你想改成什么改成什么,反复调用后面两行代码,把s变成字节流然后write一下就好了。至此Server部分结束。(当然你也可以把server在最后关掉之类的,但我这只是一个demo,没有其他线程所以似乎不用管)
 
之后Matlab的部分教程就更少了,只有Matlab官方的一些文档。
和上面一样,现建立TCPIP的实例,区别只是上面是server服务端,这是client客户端。
% Create TCP/IP object 't'. Specify server machine and port number.
% 创建实例,设为client客户端,端口4210和C#的server服务端是一样的,IP地址就是本机
t = tcpip("192.168.65.1", , 'NetworkRole', 'client'); % Set size of receiving buffer, if needed.
set(t, 'InputBufferSize', ); % timeout是指每格多久穿一次数据,我试下来最快是1s
set(t, 'timeout', );
 % Open connection to the server. 打开client
  fopen(t);  

client的实例就这样建好了,之后我们只要不断收数据。

while
if get(t, 'BytesAvailable') >
t.BytesAvailable
DataReceived = fscanf(t)
end
end
这时你每1s(因为上面timeout设为了1s,当然你也可以设为别的值)会收到一个字符串DataReceived,这时你可以根据传的数据的格式,把整个字符串翻译回来,然后进行数据分析。
 
我没有试过能否直接传double或者int,有人尝试了下面评论吧~
 
这些封装好的函数本应该很简答,但是网上的资源真不好找,希望能对大家有所帮助。
 
我没讲解具体的原理,我参照了下面这些链接:
http://www.cnblogs.com/MrALei/p/3580574.html
http://blog.csdn.net/c0411034/article/details/70306480
 
 

用TCP IP从C#实时传数据到Matlab的更多相关文章

  1. TCP/IP UDP 协议首部及数据进入协议栈封装的过程

    数据的封装 UDP 封装 TCP 封装 IP 封装 检验和算法 当应用程序用TCP传送数据时,数据被传送入协议栈中,然后逐一通过每一层直到被当作一串比特流送入网络 注: UDP数据TCP数据基本一致. ...

  2. TCP/IP 协议是如何保证数据可靠性的?

    原文: 网络基础:TCP协议-如何保证传输可靠性 TCP协议传输的特点主要就是面向字节流.传输可靠.面向连接.这篇博客,我们就重点讨论一下TCP协议如何确保传输的可靠性的. 确保传输可靠性的方式TCP ...

  3. android 网络编程--socket tcp/ip udp http之间的关系

    网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层,一般编程人员接触最多的就是应用层和运输层,再往下的就是所谓的媒体层了,不是我们研究的对象. 下面是应用层.运输层,网络 ...

  4. 【转】TCP/IP协议栈及OSI参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  5. TCP/IP协议栈及OSI参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  6. TCP/IP 协议栈及 OSI 参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  7. 网络编程TCP/IP详解

    网络编程TCP/IP详解 1. 网络通信 中继器:信号放大器 集线器(hub):是中继器的一种形式,区别在于集线器能够提供多端口服务,多口中继器,每个数据包的发送都是以广播的形式进行的,容易阻塞网络. ...

  8. TCP/IP协议 (图解+秒懂+史上最全)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  9. TCP/IP协议(二)tcp/ip基础知识

    今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...

随机推荐

  1. PHP中ajax返回数据类型为JSON数据的处理

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. ORACLE使用CASE WHEN的方法

    先写草稿. 说下我的需求,ORACLE数据库有两个字段RECEIVER_MOBILE与RECEIVER_PHONE,同为联系方式.当RECEIVER_MOBILE为空的时候,需要用到RECEIVER_ ...

  3. 数据库之数据库管理篇[mysql]

    管理数据库 1.mysql开闭使用篇 mariadb在Linux中首次进入mysql(因为此时还没有创建任何用户,mysql的root并不等效于linux中的root用户) sudo mysql 进入 ...

  4. java和数据库中日期类型的常见用法

    (1)java中日期类型:Date.Timestamp(2)数据库中:Date.Timestamp(3)字符串和Date之间的格式化转换:    SimpleDateFormat类方法: format ...

  5. Xpath初了解

    如下一段html: <html> <body> <form id="loginForm"> <input name="usern ...

  6. 有趣的F-String

    F-String 让人上瘾 一个工具脚本的例子 https://www.pydanny.com/python-f-string-are-fun.html 在Python3.6的发布中,我们看到他们采纳 ...

  7. Lua中的函数

    [前言] Lua中的函数和C++中的函数的含义是一致的,Lua中的函数格式如下: function MyFunc(param) -- Do something end 在调用函数时,也需要将对应的参数 ...

  8. Ubuntu16.04 Liunx下同时安装Anaconda2与Anaconda3

    先根据Ubuntu预装的python2.7来安装Anaconda2,然后将Anaconda3作为其环境安装在envs文件夹下. 重要提示:有一些软件需要py2.7的环境,比如XX-Net, 最好是先安 ...

  9. Python-Django-BBS

    一个项目从无到有 1 需求分析 -登录ajax,图形验证码 -注册forms和ajax,上传头像,头像预览 -博客首页 -个人站点 -点赞,点踩 -评论 -根评论 -子评论 -后台展示 -添加文章 - ...

  10. for/while循环运用(do while)

    //for循环用于知道次数的循环,while用于不知道的次数的循环//第1种写法 while循环 import java.util.Scanner;//插入util工具包 public class H ...