我用php实现socket编程服务器端出现报错:
Warning: socket_bind() [function.socket-bind]: unable to bind address [0]: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 in C:\wamp\www\socket.php on line 25
socket_bind() 失败的原因是:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。客户机端出现报错:
Warning: socket_read() [function.socket-read]: unable to read from socket [0]: 远程主机强迫关闭了一个现有的连接。 in C:\wamp\www\client.php on line 17 请教各位大神这是什么问题!!
Warning: socket_bind() [function.socket-bind]: unable to bind address [0]: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 in C:\wamp\www\socket.php on line 25
socket_bind() 失败的原因是:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。客户机端出现报错:
Warning: socket_read() [function.socket-read]: unable to read from socket [0]: 远程主机强迫关闭了一个现有的连接。 in C:\wamp\www\client.php on line 17 请教各位大神这是什么问题!!
<?php
set_time_limit(0);
$host = "127.0.0.1";
$port = 12001;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)or die("Could not create socket\n"); // 创建一个Socket
$connection = socket_connect($socket, $host, $port) or die("Could not connet server\n"); // 连接
socket_write($socket, "hello socket") or die("Write failed\n"); // 数据传送 向服务器发送消息
while ($buff = socket_read($socket, 1024, PHP_NORMAL_READ)) {
echo("Response was:" . $buff . "\n");
}
socket_close($socket);
?>
<?php
set_time_limit(0);
$address = "127.0.0.1";
$port = 12001;
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("socket_create() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
socket_set_block($sock) or die("socket_set_block() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
$result = socket_bind($sock, $address, $port) or die("socket_bind() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
$result = socket_listen($sock, 4) or die("socket_listen() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
echo "OK\nBinding the socket on $address:$port ... ";
echo "OK\nNow ready to accept connections.\nListening on the socket ... \n";
do { // never stop the daemon
$msgsock = socket_accept($sock) or die("socket_accept() failed: reason: " . socket_strerror(socket_last_error()) . "/n");
echo "Read client data \n";
$buf = socket_read($msgsock, 8192);
echo "Received msg: $buf \n";
$msg = "welcome \n";
socket_write($msgsock, $msg.$buf, strlen($msg)) or die("socket_write() failed: reason: " . socket_strerror(socket_last_error()) ."/n");
socket_close($msgsock);
} while (true);
socket_close($sock);
?>
我试过用php搞socket,需要多线程 线程池什么的 php不好搞,换java了