Home  >  Article  >  Backend Development  >  linux中使用php进行socket编程,报拒绝连接异常,请大家看看

linux中使用php进行socket编程,报拒绝连接异常,请大家看看

WBOY
WBOYOriginal
2016-06-13 11:43:02928browse

linux中使用php进行socket编程,报拒绝连接错误,请大家看看

本帖最后由 lovegis0101 于 2011-06-17 08:40:57 编辑 本人刚开始接触Linux和php和socket(呵呵....),在网上找了点资料,自己写了很基本的client端与server端两个php脚本,在Windows下测试,是可以通信的。之后把client端脚本放在Linux下,却报出如下错误:
PHP Warning:  socket_connect(): unable to connect [111]: Connection refused in /socketClient.php on line 12,12行是调用socket_connect方法,在这里出的错
系统环境是这样的,我在Windows系统主机里装了Linux虚拟机,Windows系统ip:192.168.0.2,Linux系统ip:192.168.102,两个系统网络通过桥接连接,Linux可以通过Windows来连接网络。
这个问题困扰我好几天了,在网上搜索,也没有找到解决方法,请大家帮忙看看啊
附上脚本代码:
server:
<br /><?php<br />// 设置一些基本的变量<br />global $lat,$lnt;<br />$host = "127.0.0.1";<br />$port = 8888;<br />// 设置超时时间<br />set_time_limit(0);<br />// 创建一个Socket<br />$commonProtocol = getprotobyname("tcp");<br />$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);<br /><br />//绑定Socket到端口<br />$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");<br />$ret = socket_listen($socket, 5);<br />if($ret){<br />	while (true){<br />		$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");;<br />		echo("socket connected\n");<br />		if(!$spawn) break;<br />		$output = "Welcome to the PHP Test Server.....nice\n";<br />		socket_write($spawn, $output, strlen ($output)) or die("error\n");<br />		while($input = socket_read($spawn, 64)){<br />			echo($input);<br />		}<br />		echo("\n");<br />		socket_close($spawn);<br />	}<br />}<br />?><br />

client:
<br /><?php<br />// 设置一些基本的变量<br />$host = "192.168.0.2";<br />$port = 8888;<br />// 设置超时时间<br />set_time_limit(0);<br />// 创建一个Socket<br />$commonProtocol = getprotobyname("tcp");<br />$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);<br />if(!$socket) echo "can't creat socket";<br />//绑定Socket到端口<br />$result = socket_connect($socket, $host, $port) or die(socket_strerror());<br />if($result){<br />	$output="hello server!";//lat:30.582029016593196;lnt:103.98662567138672<br />    socket_write($socket, $output, strlen ($output));<br />	$input = socket_read($socket, 1024);<br />	echo($input);<br />}<br />?><br />
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn