我不明白为什么下面的代码不起作用。客户端向服务器发送消息,服务器将消息打印到标准输出。简单的Java客户端和服务器没有正确交互
代码服务器:
import java.net.*;
import java.io.*;
import java.math.BigInteger;
public class server
{
public static void main(String args[])
{
try
{
ServerSocket server = new ServerSocket(8080);
while (true)
{
// initializations
Socket connection = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
PrintWriter out = new PrintWriter(connection.getOutputStream());
// listen for client message
String message = in.readLine();
// print raw message from client
System.out.println(message);
// close resources
if (out != null)
out.close();
if (in != null)
in.close();
if (connection != null)
connection.close();
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
System.exit(1);
}
}
}
代码客户端:
import java.net.*;
import java.io.*;
import java.math.BigInteger;
public class client
{
public static void main(String args[])
{
try
{
// initializations
Socket connection = new Socket("localhost", 8080);
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
PrintWriter out = new PrintWriter(connection.getOutputStream());
// send message to server
out.println("Hello, world!");
// close resources
if (in != null)
in.close();
if (out != null)
out.close();
if (connection != null)
connection.close();
}
catch (Exception e)
{
System.out.println(e.getMessage());
System.exit(1);
}
}
}
任何见解?谢谢!
它错误说什么? – Jorge 2010-11-01 22:24:00
没有“错误”;代码编译得很好。但是在启动服务器和客户端之后,服务器挂起而不打印任何内容到标准输出。 – 2010-11-01 22:25:29
挂在哪里?在调试器下运行或添加一些printlns来找出哪里?客户端是否运行并终止,没有任何错误? – 2010-11-01 22:27:39