A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马十八期0513 中级黑马   /  2013-3-7 11:34  /  1675 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 姜伟 于 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, 下载次数: 47)

客户端显示connection timed out

客户端显示connection timed out

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
  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. }
复制代码
回复 使用道具 举报
不知道什么原因,我改过之后在我电脑上就可以的,我的也是WIN7系统
回复 使用道具 举报
张学林 发表于 2013-3-7 16:26
不知道什么原因,我改过之后在我电脑上就可以的,我的也是WIN7系统

今天一运行它又正常了,我也不清楚怎么回事,怎么看都没看出问题来。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马