我正在與TCP客戶端一起學習如何在VS2010 C#中使用TCPSocket函數。我可以調用read()函數來讀取數據。這部分全部有效。我不理解的是如何設置客戶端來監聽流,並將傳入的數據發送到文本框,而無需手動調用該函數或使用計時器。我想用事件處理程序處理這個問題,但是現在我已經完全搞糊塗了,現在我需要一些指導。使用事件處理程序接收TCP客戶端數據
我正在使用我在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());
}
}
上的其他計算器後,我發現馬特·戴維斯提供了一種利用公共事件
public event EventHandler<DataRecivedEventArgs> DataRecieved;
但是當我試了一下,「DataRecivedEventArgs」不是視覺工作室的認可功能的example。
有人可以幫我解釋一下如何使用TCPclient來一致地監聽數據並在收到一些數據時調用一個函數嗎?