Java: пример программирования сокетов - PullRequest
2 голосов
/ 17 октября 2010

Что не так со следующей программой для выборки времени с сервера времени.

public class SocketTest
{  
    public static void main(String[] args)
    {
         Socket s = new Socket(“time-A.timefreq.bldrdoc.gov”, 13);
          BufferedReader in = new BufferedReader(
                  new InputStreamReader(s.getInputStream()));
       String line;
       do
       {    line = in.readLine();  //read line of text from socket
              if (line != null)  System.out.println(line);
       }
       while(line != null);
    }

}

Ответы [ 3 ]

5 голосов
/ 17 октября 2010

Кавычки должны быть " вместо . То есть вы должны иметь

Socket s = new Socket("time-A.timefreq.bldrdoc.gov", 13);

вместо

Socket s = new Socket(“time-A.timefreq.bldrdoc.gov”, 13);

Кроме того, вам нужно будет инкапсулировать операции ввода-вывода в блок try / catch или объявить метод для исключения IOException.

Кроме этого, у меня нет особых жалоб. Если вы импортируете классы правильно, он напечатает что-то вроде

55486 10-10-17 05:30:44 22 0 0 604.7 UTC(NIST) * 

Это примерно так, как я бы написал

import java.io.*;
import java.net.*;

public class SocketTest {
    public static void main(String[] args) {
        try {
            Socket s = new Socket("time-A.timefreq.bldrdoc.gov", 13);
            BufferedReader in = new BufferedReader(new InputStreamReader(
                    s.getInputStream()));
            String line;
            while ((line = in.readLine()) != null)
                System.out.println(line);

            s.close();
        } catch (IOException ioex) {
            ioex.printStackTrace();
        }
    }
}

Поместите s.close () в блок finally, если вы требовательны, и программа больше, чем просто тестовая программа, подобная этой.

2 голосов
/ 17 октября 2010

Вы должны использовать двойные кавычки (") для заключения строк, похоже, что вы используете кавычки:

new Socket(“time-A.timefreq.bldrdoc.gov”, 13);
           ^                           ^
0 голосов
/ 28 августа 2015

Этот пример может помочь https://github.com/bitsabhi/DemoChatApp Пользователь ServerSocket на стороне сервера и Socket на стороне клиента Android

...