【发布时间】:2023-03-17 19:20:01
【问题描述】:
我正在使用一个 TCP 客户端来学习如何在 VS2010 C# 中使用 TCPSocket 函数。我可以调用 read() 函数来读取数据。那部分一切正常。我不明白的是如何设置客户端以侦听流并将传入的数据发布到文本框,而无需手动调用该函数或使用计时器。我想用一个事件处理程序来处理这个问题,但在这一点上,我完全把自己弄糊涂了,现在我需要一些指导。
我正在使用我在 MSDN 上找到的客户端示例来帮助我了解该功能如何工作以进行基本阅读。
private static void Receive(Socket client) {
try {
// Create the state object.
StateObject state = new StateObject();
state.workSocket = client;
// Begin receiving the data from the remote device.
client.BeginReceive( state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReceiveCallback), state);
} catch (Exception e) {
Console.WriteLine(e.ToString());
}
}
在另一个 stackoverflow 帖子中,我发现 Matt Davis 提供了使用公共事件的 example
public event EventHandler<DataRecivedEventArgs> DataRecieved;
但是当我尝试它时,“DataRecivedEventArgs”不是visual studio的认可功能。
有人可以帮我解释一下如何使用 TCPclient 来持续监听数据并在收到一些数据时调用函数吗?
【问题讨论】:
标签: c# sockets tcp event-handling telnet