[英]TCP/IP communication using Android as Client and C# as server
我想将一些陀螺仪读数从我的 android 设备发送到 PC 程序 (C#)。 我决定通过套接字编程来实现。 安卓手机作为客户端,电脑上运行的程序作为服务器。 这是我的 android 代码,它现在发送“你好”:
try
{
socket = new Socket("192.168.1.3", 1071);
PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
pw.println("Hello");
socket.close();
}
catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
现在 c# 服务器代码如下所示:
listener = new TcpListener(1071);
listener.Start();
Socket soc;
while (true)
{
soc= listener.AcceptSocket();
Console.WriteLine("Connection accepted from " + soc.RemoteEndPoint);
byte[] b = new byte[10000];
int k = soc.Receive(b);
Console.WriteLine(k);
char cc = ' ';
string test = null;
Console.WriteLine("Recieved...");
for (int i = 0; i < k - 1; i++)
{
Console.Write(Convert.ToChar(b[i]));
cc = Convert.ToChar(b[i]);
test += cc.ToString();
}
}
soc.Close();
}
问题是连接已建立,但我无法在服务器上收到任何信息。 k 的值每次都为零。 但是连接成功。
Output:
Connection accepted from 192.168.1.6:36742
0
Recieved...
Connection accepted from 192.168.1.6:57013
0
Recieved...
等等。
谁能告诉我可能是什么问题,我很确定不存在诸如 UTF-8 之类的编码问题。
看起来您在关闭PrintWriter之前错过了刷新它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.