我想在基于android的客户端和基于c#的服务器之间进行通信。我已经做到了..但我想发送字节数组到基于android的客户端..通常我发送字符串值..当我发送字节数组它不工作!在C#中,我们可以发送一个位于Socket类中的函数。但在java方面,我没有任何想法。我搜索我可以使用DatagramSocket的。但我想与Socket类做..嗯,这是在C#侧..Android客户端通讯
public void Send(byte[] buffer)
{
try
{
cSocket.Send(buffer);
}
catch (SocketException s_ex)
{
Console.WriteLine(s_ex);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
public void ReceiveListen()
{
while (true)
{
try
{
buffer = new byte[8192];
int socketStatus = cSocket.Receive(buffer);
if (socketStatus!= 0)
{
Array.Resize(ref buffer, socketStatus);
Parse(buffer);
}
}
catch
{
}
Thread.Sleep(100);
}
}
正如你看到的,我可以把字节数组,并免费获赠相同类型... 在Android端,我用这个代码(通常当我发送字符串值到客户端(安卓)它的工作..有C#中的流类...我可以发送它们的流类..)
try {
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
Log.d("ServerActivity", line);
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText("Connected");
}
});
}
break;
} catch (Exception e) {
handler.post(new Runnable() {
@Override
public void run() {
serverStatus.setText("Oops. Connection interrupted. Please reconnect your phones.");
}
});
e.printStackTrace();
}
那么..它适用于字符串值..正如你所看到的..有getInputStream()函数..它期望字符串值..好这个函数上依赖于Socket类。但我需要得到字节代替的getInputStream()arrray功能...
我希望我可以解释我的问题以及..
谢谢
您可以尝试Integer.toString(1234567890); – Yahor10