黑马程序员技术交流社区

标题: 工作中的Socket问题 [打印本页]

作者: 牛合超    时间: 2013-4-11 16:11
标题: 工作中的Socket问题
本帖最后由 牛合超 于 2013-4-13 21:27 编辑

提示错误信息
04-10 11:42:00.670: W/System.err(32134): java.net.SocketException: No route to host
04-10 11:42:00.670: W/System.err(32134):         
at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)
04-10 11:42:00.670: W/System.err(32134):         
at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357)

代码编写如下,

/**
         * 测试通知的socket
         */
        private void socketTest() {
                try {
                        System.out.println("socket===============================socket");
                        Socket socket = new Socket(".", 5222);
                } catch (UnknownHostException e) {
                        e.printStackTrace();
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }

无法建立起链接,地址由.改为Ip后,本地的安卓模拟器可以连上,但是手机无法连接,报上述异常,,
高手赐教啊,,
作者: 通行天下    时间: 2013-4-11 16:45
  1. import java.net.*;
  2. import java.io.*;

  3. public class TestTCPClient {
  4.         public static void main(String[] args)throws Exception {
  5.                 Socket s = new Socket("192.168.55.3",11);
  6.                 OutputStream os = s.getOutputStream();
  7.                 DataOutputStream dos = new DataOutputStream(os);
  8.                 Thread.sleep(2000);
  9.                 dos.writeUTF("你好!");
  10.                 dos.flush();
  11.                 dos.close();
  12.                 s.close();
  13.         }
  14. }



  15. import java.net.*;
  16. import java.io.*;

  17. public class TestTCPServer {
  18.         public static void main(String[] args)throws Exception {
  19.                 ServerSocket ss = new ServerSocket(11);
  20.                 while(true) {
  21.                         Socket s = ss.accept();
  22.                         System.out.println("已连接!");
  23.                         DataInputStream dis = new DataInputStream(s.getInputStream());
  24.                         System.out.println(dis.readUTF());
  25.                         dis.close();
  26.                         s.close();
  27.                 }
  28.         }
  29. }
复制代码
应该是你的Server没有接受Socket吧?这是我写的Socket与Server,你参考一下吧;希望对你有用!
作者: 通行天下    时间: 2013-4-11 16:46
  1. import java.net.*;
  2. import java.io.*;

  3. public class TestTCPClient {
  4.         public static void main(String[] args)throws Exception {
  5.                 Socket s = new Socket("192.168.55.3",11);
  6.                 OutputStream os = s.getOutputStream();
  7.                 DataOutputStream dos = new DataOutputStream(os);
  8.                 Thread.sleep(2000);
  9.                 dos.writeUTF("你好!");
  10.                 dos.flush();
  11.                 dos.close();
  12.                 s.close();
  13.         }
  14. }



  15. import java.net.*;
  16. import java.io.*;

  17. public class TestTCPServer {
  18.         public static void main(String[] args)throws Exception {
  19.                 ServerSocket ss = new ServerSocket(11);
  20.                 while(true) {
  21.                         Socket s = ss.accept();
  22.                         System.out.println("已连接!");
  23.                         DataInputStream dis = new DataInputStream(s.getInputStream());
  24.                         System.out.println(dis.readUTF());
  25.                         dis.close();
  26.                         s.close();
  27.                 }
  28.         }
  29. }
复制代码
应该是你的Server没有接受Socket吧?这是我写的Socket与Server,你参考一下吧;希望对你有用!
作者: 熊永标    时间: 2013-4-11 16:47
应该是手机网络的问题吧,
作者: 熊永标    时间: 2013-4-11 16:48
是不是发错地了哦,你是做安卓的?




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