【发布时间】:2016-05-25 02:00:01
【问题描述】:
为什么我得到 java.net.ConnectException: /192.168.1.5:6789 - 连接被拒绝?
我正在使用 php 和 android java 代码。在问这个问题之前,我检查了java.net.ConnectException: Connection refused 之类的问题。虽然有用,但无法解决我的问题。
场景是
1- 我正在使用 XAMPP
2- windows 防火墙已关闭
3- 当我运行 php 脚本时,我可以通过检查 netstat -a 看到端口 6789 设置为侦听
4- java“android”代码:
try
{
InetAddress serverAddr = InetAddress.getByName(serverIpAddress);//"192.168.1.5" the PC which XAMPP is runing on
socket = new Socket(serverAddr, REDIRECTED_SERVERPORT);//6789
}
catch (UnknownHostException e1)
{
e1.printStackTrace();
}
catch (IOException e1)
{
e1.printStackTrace();
}
5- php代码
<?php
set_time_limit( 0 );
$address = '127.0.0.1';
$port = 6789;
$sock = socket_create( AF_INET, SOCK_STREAM, 0 ); // 0 for SQL_TCP
socket_bind( $sock, 0, $port ) or die( 'Could not bind to address' );
socket_listen( $sock );
while (true) {
$client = socket_accept( $sock );
$input = socket_read( $client, 1024000 );
socket_write( $client, $response );
socket_close( $client );
}
socket_close( $sock );
6- 我运行 php 脚本并且它一直在加载,这意味着它正在侦听并且处于 while 块中
7- 我启动 android 应用程序并收到此通知
java.net.ConnectException: /192.168.1.5:6789 - 连接被拒绝
最后我确定 PC(服务器)IP 地址是正确的,并且在清单中设置了互联网权限
提前谢谢你!
【问题讨论】: