socket fsockopen curl 这些个东西要怎么理解?他们之间有什么联系,有什么区别吗?还有那些参数要怎么理解啊?有什么好的资料吗?
curl
socket
fsockopen
------解决方案--------------------
socket是一种连接的方式,比如用来连接接口。
如:
$fp= @fsockopen('地址','端口');
$command="" //发送的数据,你想要发什么数据,就在这里写,可以拼接起来。
if (!fwrite($fp, $command)) {exit('error');}
$response='';//结果集
while(!feof($fp)) {
$str = fgets($fp, 1024);//读取每行数据
$response .= $str; //读取的每行给结果集
}
echo $response;//输出结果
curl是可以通过url进行传输的,通常用这个来模拟某种动作,比如:模拟登录。
------解决方案--------------------
socket你可以理解是一种通信。
fsockopen('连接地址','端口号','错误代号','错误信息','超时');参数就是连接的地址
关于socket和curl的联系,就扯不上什么关系了
而curl的理解,比如:
通常我们在请求接口的时候,对方的数据可能都已经经过了多重的加密。
那么我们请求的时候,我们就得使用curl进行加密传输,因为通常的情况下我们是无法得知数据加密后的内容。
------解决方案--------------------
socket 是 TCP/IP 通讯协议的工具库,用于简化 TCP/IP 通讯程序的书写
fsockopen 是 socket 简易包装
curl 是 TCP/IP 通讯协议的又一种工具库
------解决方案--------------------
socket是抽象的套接字,不属于PHP之类语言的层面
fsocket是PHP对socket的封装,C里面也有类似的封装
curl好像是PHP专属的一个类库,专门简化socket操作的,很多主机商屏蔽掉fsocket,但是支持curl,百度BAE也是这么干的
------------------------------------------------------AutoCSDN签名档------------------------------------------------------
码农场――码农播种代码、放牧思想的农场! ------解决方案--------------------
协议
既然是通讯,自然要有一个约定。值就是协议
不然我说俄语你说英语,怎么也说不到一起去的
------解决方案--------------------