networkstream

    0熱度

    1回答

    我有一些C#代碼在Windows上可以正常工作,但我無法使其在Mono Framework上正常工作。 我使用的是最後一個Mono 3.x分支。我知道這並不穩定,但我很好奇會發生什麼,以及爲什麼NetworkStream一直在DataAvailable上返回false,並且我完全確信有一個數據(在Win上同時進行測試)。 因此,這裏的一些代碼從一個閱讀的NetworkStream: public

    1熱度

    2回答

    我正在嘗試使用TcpClient連接到Android模擬器。模擬器是運行在localhost:5554上的Android 4.2.2,我從AVD Manager開始。我能夠連接併發送「電源狀態放電」命令,但在發送第二個命令後,程序掛起等待響應。當我使用Putty原始連接進行連接時,這些命令有效。 下面是完整的代碼: using System; using System.Net.Sockets;

    0熱度

    1回答

    即時嘗試通過TCP使用C#發送文件 雖然接收文件 我發現它是0 KB 如何解決它? 下面的代碼 //服務器 TcpListener list = new TcpListener(localAddr, port); list.Start(); TcpClient client = list.AcceptTcpClient();//accepting connection

    2熱度

    2回答

    我想弄清楚什麼大小,我應該設置我的byteSize從NetworkStream讀取時。使用更小或更大數字的優點和缺點是什麼? 我見過的很多例子都使用256.爲什麼? int byteSize = 256; TcpListener server = new TcpListener(IPAddress.Any, 9999); server.Start(); Byte[] bytes = new

    2熱度

    1回答

    我想寫多玩家遊戲的XNA 4.發送數據我使用的連接這樣的TcpClient類後關閉XNA遊戲窗口: try{ client.Connect(serverEndPoint); } catch (Exception ex){ Console.WriteLine("not connected"); return; } if (!client.Connected)

    1熱度

    1回答

    有一個異步服務器的代碼。客戶端發送Header - 數據塊+數據塊的大小。 服務器先異步讀取頭然後數據塊。 我需要讀取數據塊後,運行BeginRead for Header讀取部分,使線程異步。 問題: 當我DataCallBack中,管線: INT bytesRead = ns.EndRead(結果); 我得到的不是所有的緩衝區我問 mc.Client.GetStream()的BeginRead

    0熱度

    1回答

    我試圖發送截圖通過的NetworkStream服務器的Base64編碼字符串,看來我收到完整的字符串,問題是它的炒... 我假設這與它被分割並重新組合在一起?什麼是適當的方式去這個... 客戶端代碼 byte[] ImageBytes = Generics.Imaging.ImageToByte(Generics.Imaging.Get_ScreenShot_In_Bitmap()); stri

    0熱度

    1回答

    由於NetworkStream.Length從未實現過,我怎麼才能看到網絡流上已有多少數據。 注意,我不能只是簡單地Read()而DataAvailable=True我使用一個線程,保存着,而DataAvailable設置運行的功能,那麼這個功能應該削減的那批掉。 這是我的破碎的功能只是爲了顯示我想要實現的。 我的所有分組都與[2 Bytes Size][1 Byte Type][Optional

    0熱度

    1回答

    客戶端和服務器通過TCP相互通信。服務器和客戶端互相發送UTF-8編碼的消息。 編碼UTF-8時,每個字符的字節數是可變的。它可能需要一個或多個字節來表示單個字符。 假設我正在讀取網絡流上的UTF-8編碼消息,這是一條巨大的消息。在我的情況下,它大約是145k字節。要創建這個大小的緩衝區以便從網絡流中讀取,可能會導致出現OutMemoryException,因爲字節數組需要大量的順序存儲器。 最好

    1熱度

    1回答

    使用TCPClient的NetworkStream和protobuf-net我通過TCP發送和接收protobuf消息。接收是用自己的線程運行下面的方法完成的: private void HandleClientComm() { using (NetworkStream stream = m_Stream) { object o; while (tru