C#实现简单获取扫码枪信息代码

一个扫码枪遵循TCP协议,通过改代码即可获取扫码枪所扫描的信息;(有一个串口服务器);

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Net;

using System.Net.Sockets;

using System.Threading;

using System.Diagnostics;

using System.Net;

namespace Demo_Net

{

//本机为服务端

//下午加一个判断网络是否连接;以及做出相应的判断;

class Program

{

static Socket msock;

static void Main(string[] args)

{

//先判断是否ping通:

string ips = "10.18.14.111";

string str = NetConnect(ips);

Console.WriteLine(str);

Console.ReadLine();

}

//通过ping的方法判断是否连接;

private static string NetConnect(string ip)

{

Process p = new Process();

p.StartInfo.FileName = "cmd.exe";

p.StartInfo.UseShellExecute = false;

p.StartInfo.RedirectStandardError = true;

p.StartInfo.RedirectStandardInput = true;

p.StartInfo.RedirectStandardOutput = true;

p.StartInfo.CreateNoWindow = false;

string pingstr;

p.Start();

p.StandardInput.WriteLine("ping -n 1 " + ip);

p.StandardInput.WriteLine("exit");

string strRst = p.StandardOutput.ReadToEnd();

if (strRst.IndexOf("(0% 丢失)") != -1)

{

pingstr = "连接成功";

//定义socket连接 需要的本机ip以及相应的端口;

msock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

var localIP = new IPEndPoint(IPAddress.Parse("10.18.14.23"), 10001);

msock.Bind(localIP);

//自己定义最大网络连接数

msock.Listen(10);

//新建线程处理;

Thread th = new Thread(delegate()

{

Rec();

});

th.IsBackground = true;

th.Start();

}

else

{

pingstr = "连接超时";

}

p.Close();

return pingstr;

}

//监听是否有链接,新开线程处理

static void Rec()

{

do

{

Socket s = msock.Accept();

Thread th = new Thread(delegate() {

Parse(s);

});

th.IsBackground = true;

th.Start();

} while (true);

}

//有链接时处理获取的信息

static void Parse(Socket s)

{

do

{

byte[] b = new byte[1000];

int l = s.Receive(b);

b = b.Take(l).ToArray();

string rs = string.Empty;

for (int i = 0; i < b.Length; i++)

{

rs = rs + b[i].ToString();

}

//解码

Console.WriteLine(Encoding.ASCII.GetString(b, 0, l));

} while (true);

}

}

}

相关阅读:

jQuery获取样式中颜色值的方法

java发送短信系列之限制发送频率

Win7系统中存在软盘驱动器A图标不想用如何删除

jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

php去除HTML标签实例

js实现统计字符串中特定字符出现个数的方法

详细分析JavaScript函数定义

九宫图比较常用的多控件布局(GridView)使用介绍

PHP实现的多彩标签效果代码分享

JS读取XML文件示例代码

JS验证邮箱格式是否正确的代码

javascript类型系统_正则表达式RegExp类型详解

浏览器兼容之旅第一站:如何在页面中创建IE条件注释

JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法

php获取扫码枪的内容,C#_C#实现简单获取扫码枪信息代码,一个扫码枪遵循TCP协议,通过 - phpStudy...相关推荐

  1. Android扫码枪无输入框获取扫码内容(或者Android自助机获取扫码内容)

    公司项目要求获取Android自助机获取扫码内容传给服务器后台,网上查了下和Android扫码枪获取内容一样,不需要添加任何三方sdk,Android原生即可实现.要看到扫码内容,可以在Activit ...

  2. php js获取表单内容,jquery form表单获取内容以及绑定数据_javascript技巧

    在日常开发的过程中,难免会用到form表单,我们需要获取表单的数据保存到数据库,或者拿到后台的一串json数据,要将数据绑定到form表单上,这里我写了一个基于jquery的,formHelp插件,使 ...

  3. python获取控件内容_python通过win32api轻松获取控件的属性值

    1.如何利用句柄操作windows窗体 首先,获得窗体的句柄  win32api.FindWindows() 第二,获得窗体中控件的id号,spy++ 第三,根据控件的ID获得控件的句柄(hwnd)  ...

  4. php简单加减乘除,C++_C 语言简单加减乘除运算,C语言也可以进行加减乘除运算 - phpStudy...

    C 语言简单加减乘除运算 C语言也可以进行加减乘除运算,但是运算符号与数学中的略有不同,见下表. 加法 减法 乘法 除法 求余数 数学 + - × ÷ 无 C语言 + - * / % 加号.减号与数学 ...

  5. 牛客 SQL:获取每个部门中当前员工薪水最高的相关信息

    题目:获取每个部门中当前员工薪水最高的相关信息 代码: SELECT de.dept_no, de.emp_no, sa.salary FROM dept_emp AS de INNER JOIN s ...

  6. php获取扫码枪的内容,一起看看js获取扫码枪输入数据的方法_WEB前端开发

    代码详解Vue中key的作用示例_WEB前端开发 key的特殊attribute主要用在Vue的虚拟DOM算法,在新旧Nodes对比时辨识VNodes,这篇文章主要给大家介绍Vue中key的作用,感兴 ...

  7. Android设备获取扫码枪扫描内容

    条形码扫码枪现在随处可见,可以很迅速地扫描出条形码内容,比什么手机相机扫码快了不是一点两点. 为了节约成本,扫码枪可以直接通过蓝牙连接android或其他设备. 那么android设备如何通过蓝牙获取 ...

  8. java post xmll_HttpClient发送Post请求,内容格式为xml,并获取响应内容

    ChannelDistributor.xml 内容如下: yisou abcd1234 10010000 00 1).HttpClient发送Post请求,内容格式为xml,并获取响应内容 impor ...

  9. html js文本框文字列出,js实现文本框中输入文字页面中div层同步获取文本框内容的方法...

    这篇文章主要介绍了js实现文本框中输入文字页面中div层同步获取文本框内容的方法,实例分析了javascript操作dom元素的技巧,需要的朋友可以参考下 本文实例讲述了js实现文本框中输入文字页面中 ...

  10. html获取文本框的值,如何获取输入框的内容

    js如何获取input输入框中输入的值 直接使用.value属性即可获取输入框的内容. 详细的步骤如下: 首先获取输入框对应的DOM元素,如: var bt=document.getElementBy ...

最新文章

  1. 设计模式之C#实现---- ProtoType
  2. java代码启动电脑上程序方法
  3. 安卓音乐播放器开发实例
  4. hdu4081 最小树+DFS或者次小树的变形
  5. mariadb(mysql)的安装
  6. ORACLE 数据迁移
  7. 脑洞一下 | 产品经理是如何用一张小票推算店面房租的?
  8. JDBC学习笔记03【JDBC事务管理、数据库连接池、JDBCTemplate】
  9. 实现本网站图片保护功能之加水印
  10. Linux 发行版之 CentOS 简介
  11. nw.js FrameLess Window下的窗口拖拽与窗口大小控制
  12. c语言中for优化,c – 在For循环中发生了什么GCC优化?
  13. 使用instantclient_11_2和PL/SQL Developer工具包连接oracle 11g远程数据库
  14. quartsu仿真8:二五十计数器74290的基本功能
  15. poj 1164(DFS)
  16. oppok3如何刷机_数码知识:oppok3怎么刷机刷机教程
  17. Eclipse 使用的注意 灵格斯 取词
  18. Pycharm中配置.ui转.py文件;.qrc文件转.py文件和Qtcreator
  19. 将系统临时文件夹恢复到原来默认的目录
  20. eviews如何处理缺失数据填补_缺失值的处理

热门文章

  1. html怎样计算网页浏览次数,从网站访客数、访问次数、浏览量分析SEO优化效果...
  2. 从Activiti切换到Camunda的5个理由
  3. Java导出excel合并单元格边框消失问题
  4. Matlab转C/C++/Cmex文件加速运行方法
  5. 常用iOS开发网站资源
  6. 云计算基础架构实施要经历三个阶段
  7. python nltk 8 分析句子结构
  8. Transformer结构详解
  9. HTML知识-CSS部分
  10. 为什么要用 Lightly 在线 IDE?