小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 8455|回复: 11

再度升级数据回传组件

[复制链接]
发表于 2013-10-4 21:24:12 | 显示全部楼层 |阅读模式
本帖最后由 whble 于 2013-10-4 21:33 编辑

昨天刚刚完成一两基于蓝牙、舵机+超声波壁障小车,已经完美解决安卓端的数据回传
今天于是把之前的“智能家居”项目的pc端软件在次升级一下,这是自己写的异步通信类
的第三次升级
首先看效果图
1.使用控制台应用程序来监控整个软件的运行效果
如接入路由器的初始化过程、下发的数据监控、上传数据的监控以及软件中所有控件
动作监控,能够良好的知道软件运行状态,所有异常抛出监控。
QQ截图20131004203817.jpg
2.数据接收在之前的数据双向回传软件的基础上稍加修改,用户可以自定义数据长度,摆脱
定死的限制,待会的代码中会出现介绍
QQ截图20131004203940.jpg

  1. namespace socketFunc
  2. {
  3.     #region socket 父类
  4.     public class SocketFunc
  5.     {
  6.         private IPEndPoint serverIP;
  7.         public Socket communicateSocket = null;//定义一个socket对象
  8.         public Byte[] buffer;  //用于缓存数据
  9.         private int bytelenth;//设置数据长度字段,通过字段封装来处理
  10.         public int Bytelenth
  11.         {
  12.             get { return bytelenth; }
  13.             set { bytelenth = value; }
  14.         }
  15.         public void Access(string IP,string Port, System.Action AccessAciton)//接入路由访问的方法 参数为IP地址、端口号、一个AccessAction方法(后有介绍)
  16.         {           
  17.             communicateSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  18.             Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss :")+            //控制台监控输出,下同
  19.                 "begin communicateSocket.Bind ... ... ");
  20.             communicateSocket.Bind(new IPEndPoint(IPAddress.Any, int.Parse(Port))); //远程ip绑定
  21.             try
  22.             {   
  23.                 serverIP = new IPEndPoint(IPAddress.Parse(IP), int.Parse(Port));
  24.             }catch
  25.             {
  26.                 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss :")
  27.                     +String.Format("{0} is an unusable ip !", IP));
  28.             }
  29.             try
  30.             {
  31.                 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss :")
  32.                     + String.Format("BeginConnect {0} ... ...", IP));
  33.                 communicateSocket.BeginConnect(serverIP, ar =>//socket开始连接 ar对象的返回来判断是否连接ok
复制代码
上面这个类封装已经封装好了 想学习的朋友可以拿去试试
另外怎么在自己的软件中使用这个socketFunc类,比如我们的wifi小车自己的软件中使用
  1. private string ControlIp = "192.168.1.1";
  2.         private string Port = "2001";
  3.         private SocketFunc socket = new SocketFunc();//实例化一个类对象
复制代码
只要导入socketFunc类 然后按照上面介绍的方法和字段设置好了 那么你的wifi控制软件就完全可以随性修改数据包了
想交流加我,另外这些都是自己琢磨的 说错或错误的地方请留言告诉我 非常感谢!


由于帖子省略不少内容
整理成word文档发出



原帖.zip

49.35 KB, 下载次数: 95, 下载积分: 金钱 -1

回复

使用道具 举报

发表于 2014-5-10 17:16:08 | 显示全部楼层
哇,大神噢,楼主
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2013-10-4 21:27:05 | 显示全部楼层
本帖最后由 whble 于 2013-10-4 21:44 编辑

额 写了这么多竟然后面都省略了 晕死简易的下位机程序stc89c52
下位机程序.zip (33.71 KB, 下载次数: 65)
回复 支持 反对

使用道具 举报

发表于 2013-10-5 08:19:29 | 显示全部楼层
楼主堪称大神!碉堡了!
回复 支持 反对

使用道具 举报

发表于 2013-10-5 09:40:33 | 显示全部楼层
太佩服楼主了,支持楼主,哪天也让我们小白也玩玩
回复 支持 反对

使用道具 举报

发表于 2013-10-16 20:32:27 | 显示全部楼层
楼主我要 控制灯的那个
回复 支持 反对

使用道具 举报

发表于 2013-12-31 17:36:51 | 显示全部楼层
谢谢阿。。。。
回复 支持 反对

使用道具 举报

发表于 2015-2-14 08:57:11 | 显示全部楼层

太佩服楼主了
回复 支持 反对

使用道具 举报

发表于 2015-4-30 13:37:49 | 显示全部楼层
好贴,下载收藏了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-5-6 00:20 , Processed in 1.209938 second(s), 25 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表