Вот код.Помощь с первой сетевой программой
public class testClient {
public static void main(String[] args) {
testClient abc = new testClient();
abc.go();
}
public void go() {
try {
Socket s = new Socket("127.0.0.1", 5000);
InputStreamReader sr = new InputStreamReader(s.getInputStream());
BufferedReader reader = new BufferedReader(sr);
String x = reader.readLine();
System.out.println(x);
reader.close();
} catch(IOException ex) {
ex.printStackTrace();
}
}
}
public class testServer {
public static void main(String[] args) {
testServer server = new testServer();
server.go();
}
public void go() {
try {
ServerSocket s = new ServerSocket(5000);
while(true) {
Socket sock = s.accept();
PrintWriter writer = new PrintWriter(sock.getOutputStream());
String toReturn = "No cake for you.";
writer.println(toReturn);
}
} catch(IOException ex) {
ex.printStackTrace();
}
}
}
java.io.*
и java.net.*
импортируются в обоих классах.
Теперь, когда я пытаюсь запустить их (используя разные терминалы), ничего не происходит. Что я делаю не так?
экрана: http://i29.tinypic.com/250qlmt.jpg
Работает ли ваш сервер, если вы используете telnet? 'telnet localhost 5000' должен сказать вам. Тогда вам нужно только отлаживать одну половину за раз. –
(Обратите внимание, что вы выбираете, какая кодировка символов используется по умолчанию с обеих сторон. Гораздо лучше явно указать кодировку, возможно, UTF-8. Кроме того, 'PrintWriter' обрабатывает исключения, поэтому вы можете рассмотреть другое 'Writer'.) –