我终于使程序能够按我希望的那样运行,它从每次触发的扫描都从telnet端口读取数据,但是现在我得到的唯一问题是,如果我在控制台中显示数据,则正在读取数据,但是我需要将其显示在我的主显示中,该显示将是一个文本框多行,你能明白我为什么得到这个
@am.filter 'siteAndAssociations', ->
(sites, text) ->
query = text?.toLowerCase() || ""
_( sites ).filter ( site ) ->
# filter on key
if site?
( _.some [ "name", "comment" ], (key) ->
site[ key ].includes( query ) if site[ key ]? ) or
# filter on address
( site.address().entered_by_user.toLowerCase().includes query if site.address() and site.address().
这是我添加的错误,它来自ReadWrite方法 enter image description here
答案 0 :(得分:0)
因此,您必须在某处循环,以使您的程序继续检查Stream。通常最简单的方法是使用布尔指示符,因此可以列出以下内容:
Boolean openConnection = false;
这需要是课程级别的。然后在connect方法内部,循环并监听。像这样的东西。
NetworkStream ns = server.GetStream();
openConnection = True;
Task.Factory.StartNew(() =>
{
while (openConnection)
{
ns.Read(data, 0, data.Length);
var stringData = Encoding.ASCII.GetString(data, 0, 1024);
dataToAdd.Add(stringData);
foreach (var list in dataToAdd)
{
txt_BarcodeDisplay.Text += list + Environment.NewLine;
}
Thread.Sleep(2000);
}
}
);
因此,要解压缩的内容很多,但是基本上您是在说,请阅读网络中的内容,直到将openConnection变量设置为false为止。哦,由于我们不想将处理器固定在100%,请休眠线程,以便我们每2秒检查一次。
这是一个艰难的开始,但我希望它能使您对实现此目标的方向有所了解。