我想通过Wifi通过TCP连接将数据从C#.NET(Windows应用程序)程序发送到Java(Android应用程序)程序,反之亦然。到目前为止,我成功地将数据从Java发送到C#,但无法从C#发送到Java。无法将数据从C#发送到Java(Android)程序
以下是Java代码,我用来创建一个连接和接收数据:
ServerSocket serverSocket = null;
DataInputStream socketInputStream;
while (true) {
try {
String localIPAddr = getLocalIPAddress();
InetSocketAddress ipEndPoint = new InetSocketAddress(
InetAddress.getByName(localIPAddr), 8222);
serverSocket = new ServerSocket();
serverSocket.bind(ipEndPoint, 4);
workerSocket = serverSocket.accept();
socketInputStream = new DataInputStream(
workerSocket.getInputStream());
inputText.setText(socketInputStream.readUTF());
} catch (Exception ex) {
throw ex;
}
}
这里getLocalIPAddress()
方法返回Android设备的IP地址。
以下是在Windows应用程序的C#代码连接到Android的IP地址(192.168.1.6)发送数据给它:
Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
void button1_Click(object sender, EventArgs e)
{
try
{
if (!clientSocket.Connected)
clientSocket.Connect(IPAddress.Parse("192.168.1.6"), 8222);
clientSocket.Send(Encoding.UTF8.GetBytes(txtInput.Text));
}
catch (Exception ex)
{
throw ex;
}
}
好,客户端(C#)是无法连接到服务器(Java)这意味着数据不会从客户端发出。但它会,如果它连接。请告诉我我错过了什么,我错在哪里。 :)
究竟发生了什么?数据是否离开源计算机?它是否到达目标? – svick 2012-02-18 08:41:35
你可以发布你的clientSocket的声明吗? – joshhendo 2012-02-18 09:00:26
客户端(C#)无法连接到服务器(Java)这意味着数据不会从客户端发出。但它会,如果它连接。 – Krish 2012-02-18 09:22:38