android socket accept,java – ServerSocket accept()不接受Android上的连接

博主在尝试使用Android手机作为服务器,通过ServerSocket在4444端口监听,而PC作为客户端进行连接,但连接无法成功。手机端的日志显示ServerSocket已创建,但PC端的Socket连接请求未到达。已经确认了手机的INTERNET权限,并且能够反向执行(即PC作为服务器,手机作为客户端)操作。问题可能在于手机的IP地址配置或者网络防火墙设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我试图在我的Android手机上设置ServerSocket,并从我的计算机发送一个char或int或任何东西.

手机上的代码创建一个ServerSocket,然后在等待连接时阻塞:

ServerSocket serverSocket = ServerSocketFactory.getDefault()

.createServerSocket(4444);

Log.d("HostThread", "ServerSocket created:"+serverSocket

.getInetAddress().getHostAddress());

Socket socket = serverSocket.accept();

(日志显示“10-27 11:41:43.437:DEBUG / HostThread(23957):ServerSocket创建:0.0.0.0”)

我PC上运行的一小段代码试图连接到手机:

Socket s = new Socket("xx.xx.xx.xx", 4444);

…(如果创建了套接字,还会加上一些更多的位.但是我没有得到这一点,所以把它留下来!)

基本上,手机正在接受,而电脑没有连接. xx.xx.xx.xx是我以编程方式获取的手机的公共IP(并且与检查whatismyip.com相匹配).

我在手机上设置了INTERNET权限.我也能够反向执行此操作(PC上的ServerSocket,手机上的客户端).

我出错的任何想法?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值