1

我正在开发一个基本的客户端-服务器应用程序,以在 android 应用程序(客户端)和 pc 上的 java 服务器之间发送消息。当我使用模拟器时,消息可以正常发送和接收,但当我尝试在手机上使用该应用程序时无法正常工作。我使用 connectify 将手机连接到笔记本电脑托管的 wifi 网络。我想知道是什么阻止了我的手机连接......这是代码:

服务器

public class ServerMain {
public static void main(String argv[]) throws Exception
  {
     String clientSentence;
     String capitalizedSentence;
     int sock = 1234; 
     ServerSocket welcomeSocket = new ServerSocket(sock);

     while(true)
     {
        Socket connectionSocket = welcomeSocket.accept();
        BufferedReader inFromClient =
           new BufferedReader(new            InputStreamReader(connectionSocket.getInputStream()));
        clientSentence = inFromClient.readLine();
        System.out.println("Received: " + clientSentence);
        if(clientSentence.equalsIgnoreCase("QUIT"))
            break;
     }
     welcomeSocket.close();

  }
}

客户

public class Message extends Activity {
EditText et;
String msg1 = "";
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    et = (EditText)findViewById(R.id.etTest);
}
            // TODO Auto-generated method stub
class GetMessages extends AsyncTask<Void, Void, Void> {
    protected Void doInBackground(Void... params) {
       final String msg = et.getText().toString();
         try{
            Socket clientSocket = new Socket("*myip*", 1234);
            DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
            String sentence = msg;
            outToServer.writeBytes(sentence + '\n');

        } catch (Exception e) {
           e.printStackTrace();
        }
         return null;
    }

}    
  public void readWebpage(View view) { //The button on click calls this function (from xml)
   new GetMessages().execute();
   }
}
4

0 回答 0