黑马程序员技术交流社区

标题: Tcp服务器连接超时 [打印本页]

作者: 黑马十八期0513    时间: 2013-3-7 11:34
标题: Tcp服务器连接超时
本帖最后由 姜伟 于 2013-3-8 09:26 编辑

import java.io.*;
import java.net.*;
class TcpClient{
     public static void main(String []args)throws Exception{
         Socket s =new Socket("192.168.0.104",10003);
         OutputStream out =s.getOutputStream();
         out.write("TCP 我来了!".getBytes());
         s.close();
     }
}
class TcpServer{
    public static void main(String []args) throws Exception{
        ServerSocket ss =new ServerSocket(10003);
        Socket s=ss.accept();
        String ip =s.getInetAddress().getHostAddress();
        System.out.println("ip:"+ip+"connected");
        InputStream in =s.getInputStream();
       byte []buf =new byte[1024];
       System.out.println(new String(buf,0,in.read(buf)));
       s.close();
       ss.close();
    }
}
一段很简单的Tcp代码。之前学的时候用的是winxp的系统,运行起来没有问题。现在复习,用的是win7的系统,运行客户端就会出现连接超时的问题,服务器端也不会收到消息。我记得之前学习的时候也出现了连接超时,后来我不知道自己搞的,把问题解决了。现在试了好多方法都没能解决问题,请帮忙解答。
运行提示的  TcpDemo.java:28是指Socket s =new Socket("192.168.0.104",10003);但是我确定自己IP地址没有问题,每次写的时候都会查看自己的IP地址,不知道哪儿出错了。
代码是手敲上去的不是复制的,所以刚才有些地方出现了失误。代码是准确的,同样的代码,在xp上能运行,换到了win7上就运行不了,不知道是不是设置出了问题了。请帮忙解答 下。

服务器端.jpg (33.29 KB, 下载次数: 51)

服务器端未能接收到消息

服务器端未能接收到消息

客户端.jpg (96.71 KB, 下载次数: 46)

客户端显示connection timed out

客户端显示connection timed out

作者: BitmapFactory    时间: 2013-3-7 12:20
  1. import java.io.*;
  2. import java.net.*;
  3. class TcpClient{
  4.      public static void main(String []args)throws Exception{//声明异常
  5.          Socket s =new Socket("127.0.0.1",10003);
  6.          OutputStream out =s.getOutputStream();
  7.          out.write("TCP 我来了!".getBytes());
  8.          s.close();
  9.      }
  10. }
  11. public class TcpServer{
  12.     public static void main(String []args)throws Exception{//此处static写错,再声明异常就OK了
  13.         ServerSocket ss =new ServerSocket(10003);
  14.         Socket s=ss.accept();
  15.         String ip =s.getInetAddress().getHostAddress();
  16.         System.out.println("ip:"+ip+"connected");
  17.         InputStream in =s.getInputStream();
  18.        byte []buf =new byte[1024];
  19.        System.out.println(new String(buf,0,in.read(buf)));
  20.        s.close();
  21.        ss.close();
  22.     }
  23. }
复制代码

作者: BitmapFactory    时间: 2013-3-7 16:26
不知道什么原因,我改过之后在我电脑上就可以的,我的也是WIN7系统
作者: 黑马十八期0513    时间: 2013-3-8 09:26
张学林 发表于 2013-3-7 16:26
不知道什么原因,我改过之后在我电脑上就可以的,我的也是WIN7系统

今天一运行它又正常了,我也不清楚怎么回事,怎么看都没看出问题来。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2