这也要看那个主机发不发数据啊
你先在本机上试试看行不行再说了
下面是个简单的例子
//服务端
import java.net.*;
import java.io.*;
public class ServerSocketDemo
{
public static void main(String args[])
{
try
{
ServerSocket ss=new ServerSocket(5432);
while(true)
{
Socket s=ss.accept();
PrintStream out=new PrintStream(s.getOutputStream());
out.println("Hello World");
out.close();
s.close();
}
}
catch(IOException e)
{
}
}
}
你连接到127.0.0.1的5432端口,看会不会读到Hello World
//客户端
import java.net.Socket;
import java.io.*;
public class SocketDemo
{
public static void main(String args[])
{
try
{
Socket s=new Socket("211.80.203.67",5432);
BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
String x=in.readLine();
System.out.println(x);
in.close();
s.close();
}
catch(Exception e)
{
}
}
}
先运行服务端,再运行客户端看看

解决方案 »

  1.   

    我想起来了,在以前我写过类似的程序在本机运行的,我是客户端用for循环发送,然后服务器段接受并送回客户端,客户端打印出来,那时候是可以的。客户和服务器都在本机运行的!
      

  2.   

    我在本机上试了一下上述你的程序,客户端是可以收到hello World数据的
      

  3.   

    login,password那些信息是你自己的程序弄得,直到登录完成,才成为一个虚拟终端
      

  4.   

    确实是输入流没有准备好,现在已解决,结帖killme2008  20分
    unjp 80分