我正在處理一般服務器和客戶端程序。我面臨的問題是當我在我的客戶端和服務器的OnDataReceived中時,我不知道如何處理數據。理想情況下,它應該將接收到的數據輸出到窗口中,但我不知道它是否是Form或Console應用程序。所以問題是我如何創建一個可以處理兩者的通用方法,或者如果這是不可能的,我應該怎麼做?試圖創建一個可寫入控制檯或表單應用程序的方法
我正在使用的代碼:
SocketPacket theSockId = (SocketPacket)asyn.AsyncState;
int iRx = theSockId.m_currentSocket.EndReceive(asyn);
char[] chars = new char[iRx + 1];
Decoder decode = Encoding.Default.GetDecoder();
int charLength = decode.GetChars(theSockId.dataBuffer, 0, iRx, chars, 0);
String szData = new String(chars);
//Handle Message here
WaitForData();
和插座包類:
class SocketPacket
{
public Socket m_currentSocket;
public byte[] dataBuffer = new byte[1024];//Buffer to store the data by the client
public SocketPacket(Socket socket)
{
m_currentSocket = socket;
}
}
PS。 我不知道是否需要知道,但我正在做異步客戶端/服務器。
你想創建一個程序來執行一個特定的功能,或者一個可重用的庫嗎?不確定'一般服務器和客戶端程序'是什麼意思。 – mdm 2011-05-31 15:37:40
你可以看看MVP模式。演示者將只使用視圖的方法來顯示數據,視圖將關注是否顯示在控制檯或表單或html標籤中。 – 2011-05-31 15:39:24