利用Socket 本地和服务器之间通信(小白萌新适用之绝对能运行版)

Java利用Socket 实现本地和服务器之间通信(小白萌新适用之绝对能运行版)

常规部署

1、先在自己本地跑通

客户端:

Socket s = new Socket(“localhost”,8888)

服务器端:

ServerSocket ss = new ServerSocket(8888);

端口号自定义,只要和正在运行的服务不冲突即可

2、部署至服务器

将客户端的ip改为服务器ip

String host="123.456.789.123”;		//你的服务器地址
Socket s = new Socket(host,8888);

可能遇到的问题

java.net.ConnectException: Connection refused: connect

可能是没有开启服务器端的程序

java.net.ConnectException:Error:Connection timed out: connect

检查工具
1、检查能不能ping通服务器

打开cmd ping IP地址

在这里插入图片描述

2、尝试用telnet连接服务器

Windows下先打开telnet服务
控制面板->程序和功能->启用或关闭Windows功能->Telnet客户端
cmd中 telnet IP地址 端口
在这里插入图片描述
在这里插入图片描述
看能否连接

问题可能存在的位置
1、检查云服务器的安全组

我用的是阿里云的服务器
云服务器ESC->网络和安全->安全组中,点击当前服务器的"配置规则",在测试阶段配置以下规则,将服务器的出方向和入方向全都打开.
在这里插入图片描述
在这里插入图片描述
设置完成后再服务器端检查是否打开相关端口,
例如:查看80端口在服务器中是否正常被监听

netstat -ano | findstr :80

如果返回以下命令,表示 80 端口正常全网监听:

TCP    0.0.0.0:80             0.0.0.0:0              LISTENING   
2、检查Windows防火墙设置

在测试阶段将防火墙暂时全部关闭
Windows Defender安全中心->防火墙和网络保护
关闭Windows防火墙在这里插入图片描述

3、检查服务器端防火墙设置

在测试阶段将防火墙暂时全部关闭

service iptables stop

以上均是个人经验总结,适合新手,大佬轻喷

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值