求助

qq_45822778 2020-05-15 11:55:43
我使用Scoket给自己电脑ip发送和接收数据都成功了,换成别人电脑ip就失败了,报错连接超时。求解
...全文
236 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
YangjulongTrue 2020-05-17
  • 打赏
  • 举报
回复

这也不能说??? 我服了,网上一搜一大把
qq_45822778 2020-05-17
  • 打赏
  • 举报
回复
这。。。。。。。。。。。。。
qq_45822778 2020-05-16
  • 打赏
  • 举报
回复
引用 2 楼 qybao的回复:
别人的电脑的ip能ping通吗? 别人的电脑运行你的socket服务程序了吗?
我ping他的ip数据包百分零丢失,然后我本地的回复:无法访问目标主机
qq_45822778 2020-05-16
  • 打赏
  • 举报
回复
引用 5 楼 YangjulongTrue的回复:
两种
一 在同一个局域网
二 不在同一个局域网 你让一个 电脑ip 穿透映射到公网上 让另一个通过公网ip来访问
不懂,我是以为直接填别人的ip就能发送的,你这说的我不懂啊
YangjulongTrue 2020-05-16
  • 打赏
  • 举报
回复
两种
一 在同一个局域网
二 不在同一个局域网 你让一个 电脑ip 穿透映射到公网上 让另一个通过公网ip来访问
qq_45822778 2020-05-16
  • 打赏
  • 举报
回复
引用 1 楼 YangjulongTrue的回复:
在同一个网下吗?
防火墙?
不在同一个网
qq_45822778 2020-05-16
  • 打赏
  • 举报
回复
package internet; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class TCPServer { public static void main(String[] args) throws IOException { // 接收数据 Thread t1 = new Thread(new Runnable() { @Override public void run() { ServerSocket serverSocket = null; try { serverSocket = new ServerSocket(3000); Socket socket = serverSocket.accept(); while (true){ InputStream in = socket.getInputStream(); byte[] bytes = new byte[1024]; int len = in.read(bytes); // 读取到数组里并返回数据一个长度 if(len>0){ String data = new String(bytes, 0, len); System.out.println(data); } } } catch (IOException e) { e.printStackTrace(); } } }); // 发送数据 Thread t2 = new Thread(new Runnable() { @Override public void run() { try { Socket socket = new Socket("192.168.16.102", 3000); System.out.println("请输入:"); Scanner sc = new Scanner(System.in); String s; while ((s = sc.nextLine()) != null) { OutputStream os = socket.getOutputStream(); os.write(s.getBytes()); if (s.equals("88")) { break; } } socket.close(); } catch (IOException e) { e.printStackTrace(); } } }); t1.start(); t2.start(); } } 请看代码
qybao 2020-05-16
  • 打赏
  • 举报
回复
别人的电脑的ip能ping通吗? 别人的电脑运行你的socket服务程序了吗?
YangjulongTrue 2020-05-16
  • 打赏
  • 举报
回复
在同一个网下吗?
防火墙?
qq_45822778 2020-05-16
  • 打赏
  • 举报
回复
二 不在同一个局域网 你让一个 电脑ip 穿透映射到公网上 让另一个通过公网ip来访问 你能讲一下怎么做吗?
Sad4This 2020-05-16
  • 打赏
  • 举报
回复
引用 9 楼 qq_45822778 的回复:
你的意思是同一个wifi下填ip就行,那不同的要怎么做呢

或者你填的ip是公网ip,而你连接上了公网,就像你能ping同百度,腾讯的网站
qq_45822778 2020-05-16
  • 打赏
  • 举报
回复
你的意思是同一个wifi下填ip就行,那不同的要怎么做呢
YangjulongTrue 2020-05-16
  • 打赏
  • 举报
回复
引用 6 楼 qq_45822778 的回复:
[quote=引用 5 楼 YangjulongTrue的回复:]两种
一 在同一个局域网
二 不在同一个局域网 你让一个 电脑ip 穿透映射到公网上 让另一个通过公网ip来访问

不懂,我是以为直接填别人的ip就能发送的,你这说的我不懂啊[/quote]
哎 直接填ip就能发送的 你比 飞秋 还 厉害。。。。
哎,简单方法 你就直接让两电脑在同一个局域网下(连同一个热点 ||或你把一台电脑当wifi另一个电脑连这个wifi)
在根据 ip ping 看通不通

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧