您的位置:首页 > 其它

使用127.0.0.1这个地址可以连接上服务端,但是使用本机真实IP(ipconfig)却连不上

2014-02-15 11:59 597 查看
最近使用php写了一个socket的server和clinet,使用使用127.0.0.1这个地址可以连接上服务端,但是使用本机真实IP(ipconfig)却连不上。

在server中创建了

一个sorcket,

client的

$socket_client = stream_socket_client('tcp://10.68.33.219:2000', $errno, $errstr, 30);


却死活连接不上,10.68.33.219是我本就ip。使用netstat命令查看确实没有监听到:

活动连接

协议  本地地址          外部地址        状态
TCP    0.0.0.0:21             ali-68357n:0           LISTENING
TCP    0.0.0.0:80             ali-68357n:0           LISTENING
TCP    0.0.0.0:135            ali-68357n:0           LISTENING
TCP    0.0.0.0:445            ali-68357n:0           LISTENING
TCP    0.0.0.0:3306           ali-68357n:0           LISTENING
TCP    0.0.0.0:18386          ali-68357n:0           LISTENING
TCP    0.0.0.0:49152          ali-68357n:0           LISTENING
TCP    0.0.0.0:49153          ali-68357n:0           LISTENING
TCP    0.0.0.0:49154          ali-68357n:0           LISTENING
TCP    0.0.0.0:49156          ali-68357n:0           LISTENING
TCP    0.0.0.0:49157          ali-68357n:0           LISTENING
TCP    10.68.33.219:139       ali-68357n:0           LISTENING


使用

$socket_client = stream_socket_client('tcp://127.0.0.1:2000', $errno, $errstr, 30);
就能和client端连接上。

考虑stream_socket_client()在server端没有是否没有指定ip的原因,于是换接口

$commonProtocol =getprotobyname("tcp");
$socket =socket_create(AF_INET, SOCK_STREAM, $commonProtocol);
socket_bind($socket,'10.68.33.219', $port);
socket_listen($socket);


使用netstat查看,可以发现了监听

TCP    10.68.33.219:2000      ali-68357n:0           LISTENING


client端也可以连接上了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐