php socket基础知识
两个程序相互通信连接实现的数据交换,连接的一端叫socket.每一个服务创建一个socket,并且绑定一个端口,不同的端口对应不同的服务。服务端socket监听端口等待被连接,客户端socket连接发起请求.
使用socket建立一个http连接
http协议是一个基于tcp协议的应用层协议,我们可以使用socket去发送一个http请求。
简单的使用socket创建GET请求
<?php
// domain 可用的地址/协议
// type 套接字使用的类型
// protocol 协议名称
<?php
// 创建socket套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 连接http服务器
socket_connect($socket, "localhost",80);
// 发送GET请求
$buf = "GET http://localhost/helloworld.php?v=1\r\n";
$buf .= "Host:localhost\r\n";
$buf .= "User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36\r\n";
$buf .= "Connection:keep-alive\r\n";
socket_write($socket,$buf,strlen($buf)) or sprint