C# TCP 客户端监听数据
Posted
技术标签:
【中文标题】C# TCP 客户端监听数据【英文标题】:C# TCP Client listening for data 【发布时间】:2016-10-03 21:47:43 【问题描述】:我想在工作中连接到特定的条形码阅读器,但目前我在理解 TCP 流读取如何与 C# 配合使用时遇到了一些问题。
我在 *** 上查找了许多代码示例,据我所知,人们经常打开连接,发送命令,然后请求回复。
关键是,条形码阅读器只是接受 TCP 连接,然后将数据与我的数据一起发送。
我想找到使用 TcpClient 或 NetworkStream 以连续方式读取数据的最有效方法。我的意思是,我想在数据传入时收听数据,但在收听的同时还要处理许多其他事情。
我想知道是否存在简单的 TCP 库,例如具有 Connect 功能的库,以及在接收数据时触发的事件(带有分隔符或长度)。
谢谢
【问题讨论】:
【参考方案1】:TCP 听起来不对,但如果是,它可能会充当 http 服务器。如果是,那么您将使用 HttpClient。如果只是 TCP,你会这样做:Async Client Socket
【讨论】:
【参考方案2】:我终于找到了一个名为SimpleTCP 的简单TCP 库。我可以使用以下代码行连接到我的网络条形码阅读器:g_Client.Connect(ip, port);
然后有一个可用的事件称为 DataReceived (g_Client.DataReceived += l_Client_DataReceived;)
,它允许我做我想做的事。
这个库还允许访问它正在使用的 TcpClient,我目前正在寻找查看特殊字符的可能性,例如 (当前返回我一个 ASCII 中的特殊字符)但我将不得不做另一个线程为此我认为。
【讨论】:
以上是关于C# TCP 客户端监听数据的主要内容,如果未能解决你的问题,请参考以下文章
linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现