Heim  >  Artikel  >  Backend-Entwicklung  >  linux中使用php进行socket编程,报拒绝连接异常,请大家看看

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

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

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 />
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:求mysql查询集锦语句Nächster Artikel:怎么用PHP调用WebService