разъем j2me-j2se - PullRequest
       21

разъем j2me-j2se

0 голосов
/ 06 марта 2012

Я работаю над приложением j2me, которое отправляет данные на ПК через WiFi с помощью сокетов.Какой должен быть адрес сервера?то есть что я должен использовать вместо localhost в приведенном ниже коде?

Код клиента (j2me):

SocketConnection sc = (SocketConnection)
Connector.open("socket://localhost:9002");
DataOutputStream os = null;
try{
    os = sc.openDataOutputStream();
    os.writeUTF("Test Dama");
} finally{
  sc.close();
  os.close();
}

Код сервера (j2se):

    ServerSocket echoServer = null;
    String line;
    DataInputStream is;

    Socket clientSocket = null;

    try {
       echoServer = new ServerSocket(9002);
    }
    catch (IOException e) {
       System.out.println(e);
    }
    try {
       clientSocket = echoServer.accept();
       is = new DataInputStream(clientSocket.getInputStream());

       line = is.readUTF();

       System.out.println("Received:"+line);

    }
    catch (IOException e) {
       System.out.println(e);
    }

1 Ответ

0 голосов
/ 06 марта 2012

Это зависит от ip / домена сервера.

Если вы работаете в локальной сети (в вашем доме / офисе), просто выясните, какой IP-адрес компьютера, на котором запущен код сервера. В системах linux вы можете найти это с помощью команды ifconfig , тогда в выходных данных ip-адрес находится под inet addr . В системах Windows используйте ipconfig /all.

Получив IP-адрес компьютера, на котором запущен сервер, просто укажите его вместо localhost , который вы используете в клиенте.

Если вы хотите, чтобы это работало в общедоступной сети, вам придется запустить серверный код на машине с статическим ip (или использовать динамический DNS ) .

...