php Socket 基础
) == “WIN”) { dl(‘php_sockets.dll’); }else{ dl(‘sockets.so’); } } ?> 如果你不知道你的socket是否打开,那么你可以使用phpinfo()函数来确定socket是否打开。你通过查看phpinfo信息了解socket是否打开。 查看phpinfo()关于socket的信息 ◆ 产生一个服务器 现在我们把第一个例子进行完善。你需要监听一个指定的socket并且处理用户的连接。 <?php $commonProtocol = getprotobyname("tcp"); $socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol); socket_bind($socket, ''localhost'', 1337); socket_listen($socket); // Accept any incoming connections to the server $connection = socket_accept($socket); if($connection){ socket_write($connection, "You have connected to the socket...\n\r"); } ?> 你应该使用你的命令提示符来运行这个例子。理由是因为这里将产生一个服务器,而不是一个Web页面。如果你尝试使用Web浏览器来运行这个脚本,那么很有可能它会超过30秒的限时。你可以使用下面的代码来设置一个无限的运行时间,但是还是建议使用命令提示符来运行。 set_time_limit(0); 在你的命令提示符中对这个脚本进行简单测试: Php.exe example01_server.php 如果你没有在系统的环境变量中设置php解释器的路径,那么你将需要给php.exe指定详细的路径。当你运行这个服务器端的时候,你能够通过远程登陆(telnet)的方式连接到端口1337来测试这个服务器。 上面的服务器端有三个问题:1. 它不能接受多个连接。2. 它只完成唯一的一个命令。3. 你不能通过Web浏览器连接这个服务器。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |