主页 > 程序语言 > 菜鸟关于php 的 socket,线程 的问题。

菜鸟关于php 的 socket,线程 的问题。

2023-03-15 05:48来源:m.sf1369.com作者:宇宇

一、菜鸟关于php 的 socket,线程 的问题。

我觉得你服务器这段代码有问题,监听套接字的函数应该放在while循环中才对。

另外php不支持多线程的话,那就不能发挥套接字的功能了,建议用高级语言,比如java,c++写套接字程序。

二、php怎么创建开启socket服务

如果没有装socket扩展,先安装socket扩展

扩展安装好后,就可以通过调用扩展提供的接口创建socket

具体接口看官方文档:网页链接

三、php 实现socket 一个简单的例子

/*********************************************************

发送trackback程序

参数,主机地址,标题,这篇文章的地址,内容,站点名称

*********************************************************/

function sendTrackback($host,$title,$url,$excerpt,$blog_name) {

$buf=;

$host = str_replace('http://', '', $host);

$path = explode('/', $host);

$host = $path[0];

$host_array=explode(':', $host);

$host=$host_array[0];

if(empty($host_array[1])){

$port=80;

}else{

$port=$host_array[1];

}

unset($path[0]);

$path = '/' . implode('/', $path);

$excerpt = cn_substr($excerpt,252);

$fp = @fsockopen($host, $port, $errno, $errstr, 30);

if(!$fp) {

Return false;

}

$query = 'title=' . rawurlencode($title);

$query .= '&url=' . rawurlencode($url);

$query .= '&excerpt=' . rawurlencode($excerpt);

$query .= '&blog_name=' . rawurlencode($blog_name);

$out = 'POST ' . $path . ' HTTP/1.1' . \r\n;

$out .= 'Host: ' . $host . \r\n;

$out .= 'Connection: close' . \r\n;

$out .= 'Content-Length: ' . strlen($query) . \r\n;

$out .= 'Content-Type: application/x-www-form-urlencoded; charset=iso-8859-1' . \r\n\r\n;

$out .= $query . \r\n;

fwrite($fp, $out);

while (!feof($fp))

$buf .= fgets($fp,128);

fclose($fp);

$arr=explode(<error>,$buf);

$return_num=intval(substr($arr[1], 0, 1));

if($return_num==0){

return 发送成功 ;

}else{

$arr2=explode(message,$buf);

$return_msg=str_replace(>, , $arr2[1]);

$return_msg=str_replace(</, , $return_msg);

return 发送失败:.$return_msg;

}

}

四、php通信于java 的socket通信,区别是什么?

原理上没有区别,就是在Tcp上一层。自己封装通信信息,实现上,当然就有语法不同了,还有php的socket有一个额外的包

五、php怎么打开socket扩展

要使用扩展必须php已经安装了这个扩展,在windows下,下载php_socket.dll放到apache文件目录下的ext目录下,修改php.ini的文件,找到extension=php_socket.dll这一行,把前面的;去掉,若没找到则添加,再重启。在linux下需要编译安装,再打开配置文件添加extension = php_socket.so

六、php关于socket_read的问题!

使用socket_read函数,在socket_write($socket,$file);这句话以后使用,

$buf = socket_read($socket,8192);

echo Received msg: $buf \n;

注意这里使用的套接字必须与上面socket_write使用的保持一致,如果你认为有延迟的话,那你可以加上一个for 或while语句进行封装

七、php socket 与c socket怎么连接

SOCKET是TCP/IP协议开发API,譬如C/S架构的TCP协议,其服务器(带有侦听sokect)与客户端通讯,原则上与双方所采用的编程语言无关。你可以试试,用C语言写一个服务器程序,然后客户端用php来写,但双方发送的数据格式要约定好。最简单的是客户端与服务器方连接一下试试,服务器方定有反应。当然,两台计算机之间至少要PING通IP地址。

八、如何用PHP实现Socket服务器

因为只有调用了accept客户端才能连上,你如果accept下面接一个循环,那么第二个用户不是说能不能进这个循环,而是连不进……此时只有第一个用户break出了循环,然后程序回头再调用accept,...,如果你想学习更多的关于php相关的知识,可以在后盾人找找教学视频看看学习一下,不就会了

相关推荐

哪些编程语言是函数式的

程序语言 2024-01-14

VB编程的函数详解

程序语言 2024-01-02

c语言扑克牌问题

程序语言 2023-12-28

iphone语言与地区有什么用?

程序语言 2023-12-19

C语言程序,怎么使用,

程序语言 2023-12-17

把word嵌入到C#程序中

程序语言 2023-11-26

HTML是不是编程语言?

程序语言 2023-11-17