2012-12-27 21 views
0

我正在開發一種解決方案,通過TCP/IP連接將數據從具有GPRS調制解調器(服務器)的微控制器發送到計算機(一臺客戶機)中的應用程序。開始讀取進程的TCP/IP事件

我設計了第一個使用串行端口連接的應用程序(一步一步來得容易),現在我必須調整它才能從套接字接收而不是串行端口,而我全新的,我認爲這會更直接。

我一直在閱讀幾天,我什麼也沒弄清楚。我看到的大多數解決方案只是發送和接收單個數據包,或者太複雜。

我的服務器將每秒發送一次數據包,客戶端必須讀取它們然後進行分析。

我想是這樣的:

this.serialPort.DataReceived += new SerialDataReceivedEventHandler(this.routineRx);

但對於的NetworkStream。有什麼需要閱讀的東西會喚醒閱讀過程(RoutineRx)。

也許我必須改變主意,忘記這種東西。我試圖充分利用我的舊代碼。

也許我在問一些之前已經被問過很多次的問題,但我真的沒有找到它。如果是這樣,對不起。

回答

0

NetworkStream沒有DataReceived事件。您可以使用DataAvailable屬性來確定何時讀取數據供您閱讀,並使用Read來讀取該數據。

確實有很多在c#中讀取/寫入TCP數據的例子。這與閱讀串口數據不同,您可能需要重新考慮一下設計。