sockets-android客户端到c#服务器连接

sockets-android客户端到c#服务器连接,c#,java,android,eclipse,sockets,C#,Java,Android,Eclipse,Sockets,我尝试从android连接到c#服务器。我的电脑ip地址是:“10.100.102.7”; 我测试了android客户端和服务器应用程序,它们运行良好,当我尝试从android连接到C#Server时,问题就开始了 C#: 爪哇: private Socket Sender_Socket; private static final int SERVERPORT = 6000; private static final String SERVER_IP = "10.100.102.7"; c

我尝试从android连接到c#服务器。我的电脑ip地址是:“10.100.102.7”; 我测试了android客户端和服务器应用程序,它们运行良好,当我尝试从android连接到C#Server时,问题就开始了

C#:

爪哇:

private Socket Sender_Socket;

private static final int SERVERPORT = 6000;

private static final String SERVER_IP = "10.100.102.7";

class Connect_To_Server implements Runnable
 {
  @Override
  public void run()
   {
    try
     {
      InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
      Sender_Socket = new Socket(serverAddr, SERVERPORT);
     }
    catch (UnknownHostException e1)
     {
      e1.printStackTrace();
     }
    catch (IOException e1)
     {
      e1.printStackTrace();
     }
   }
 }
在C#-中,它在“Receiver=listener.Accept()”上停止 在java(android)中,它在“Sender_Socket=newsocket(serverAddr,SERVERPORT);”上停止
这应该是java socket函数中的问题-需要另一个函数来连接到C#-服务器。

您需要实际发送一些东西,您在java类中所做的一切就是检索InetAddress并打开一个套接字

你实际上需要做一些事情,比如发送一个包

从阅读以下内容开始:

然后通过以下几个例子进行练习:

此外,您还应该确保添加另一个(这次是通用的)错误捕捉器,因为在使用套接字/连接时,您处理的异常并不是唯一两个可能发生的异常

byte[] byData = System.Text.Encoding.ASCII.GetBytes("Connected");
listener.Send(byData);
waitForData(listener);


void waitForData(SocketState state)
    {
        try
        {
            state.Socket.BeginReceive(state.DataBuffer, 0, state.DataBuffer.Length, SocketFlags.None, new AsyncCallback(readDataCallback), state);
        }
        catch (SocketException se)
        {
            //Socket has been closed  
            //Close/dispose of socket
        }
    }

    public void readDataCallback(IAsyncResult ar)
    {
        SocketState state = (SocketState)ar.AsyncState;
        try
        {
            // Read data from the client socket.
            int iRx = state.Socket.EndReceive(ar);

            //Handle Data....

            waitForData(state);
        }
        catch (ObjectDisposedException)
        {
            //Socket has been closed  
            //Close/dispose of socket
        }
        catch (SocketException se)
        {
            //Socket exception
            //Close/dispose of socket
        }
    }

我只擅长C#

我关掉了防火墙,现在他们可以连接了

byte[] byData = System.Text.Encoding.ASCII.GetBytes("Connected");
listener.Send(byData);
waitForData(listener);


void waitForData(SocketState state)
    {
        try
        {
            state.Socket.BeginReceive(state.DataBuffer, 0, state.DataBuffer.Length, SocketFlags.None, new AsyncCallback(readDataCallback), state);
        }
        catch (SocketException se)
        {
            //Socket has been closed  
            //Close/dispose of socket
        }
    }

    public void readDataCallback(IAsyncResult ar)
    {
        SocketState state = (SocketState)ar.AsyncState;
        try
        {
            // Read data from the client socket.
            int iRx = state.Socket.EndReceive(ar);

            //Handle Data....

            waitForData(state);
        }
        catch (ObjectDisposedException)
        {
            //Socket has been closed  
            //Close/dispose of socket
        }
        catch (SocketException se)
        {
            //Socket exception
            //Close/dispose of socket
        }
    }