簡體   English   中英

使用tcp / ip將命令從客戶端發送到C#中的服務器

[英]Send commands from client to server in C# using tcp/ip

我發現的所有示例都是通過網絡僅發送文本/字符串數據。 我弄清楚了如何發送不同類型的對象(ArrayLists等)。 我現在正試圖找出如何處理從服務器上的客戶端發送的命令。 從客戶端,我必須:在數據庫中添加ä“ Student”刪除數據庫中的一名學生,獲取數據庫中的所有學生,等等。

因此,如果我在客戶端使用“ processCommand”方法創建協議,有時我會根據客戶端的請求使用不同數量的參數(添加學生時,我必須發送學生對象),(從數據庫中獲取數據,我不必發送任何參數); 我也必須返回不同類型的對象。 我怎樣才能做到這一點 ? 非常感謝你。

如@marc_s所建議。 沒有理由重新發明輪子。 將WCF與tcpBinding一起使用。

如果您需要自己執行此操作,則需要使用某種序列化。 您還需要附加一個標頭,因為TCP基於流,並且不保證所有內容都在同一Receive到達。

我會這樣做:

  1. 使用BinaryFormatter將對象序列化為字節緩沖區。
  2. 發送包含版本(int)和字節緩沖區中的字節數(int)的標頭
  3. 發送字節緩沖區。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM