我有一個socket服務器是由java編寫的,它總是監聽特定的端口。我用Java編寫了一個客戶端,它可以連接到服務器,但是當我使用C#創建客戶端時,我無法連接到服務器。如何通過套接字將數據從c#客戶端發送到java服務器?
我只想發送一個簡短的值來啓動一個java服務器。
我想問題來自endianess(小端,大端),我有幾天的時間來研究,但不能解決這個問題。
我張貼關於我的問題
我使用java.io. *和java.net的詳細信息。*。我的java代碼
out = new ObjectOutputStream(requestSocket.getOutputStream());
out.flush();
public static final short CLIENT = 0;
out.writeShort(CLIENT);
out.flush();
並與c#,我使用System.Net.Sockets。我的C#代碼如下:
Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
...
short sClient = 0;
if(BitConverter.IsLittleEndian) sClient = IPAddress.HostToNetworkOrder(sClient);
NetworkStream ns = new NetworkStream(socket);
BinaryWriter bw = new BinaryWriter(ns);
bw.Write(sClient);
Java代碼可以連接到Java服務器,但C#代碼不能:(。從Java服務器輸出的錯誤是「異常而變得socket流」
任何人都可以幫我這個問題,在此先感謝
排除排序,只需打印出您收到的短文和您打印的短文。例如,如果你發送的短消息是0x1234,而你收到的短消息是0x3412,那麼這是一個末端問題。如果你沒有收到任何東西或完全不同的東西,那是另一回事。調試只不過是一步一步地排除問題直到你發現問題 – Toad 2010-01-15 08:39:09