php socket 函数
创建基于socket的应用程序,就需要详细了解socket的操作方法,这里列举PHP中一些重要的socket函数。
- AF_INET: 基于IPv4的Internet协议
- AF_INET6:基于IPv6的Internet协议
- AF_UNIX:UNIX本地通信协议
- SOCK_STREAM:提供序列化的、可靠的、全双工的、基于连接的字节流传输,支持TCP
- SOCK_DGRAM:提供数据报式的、无连接的、固定最大长度的、自动寻址功能的传输,支持UDP
- SOCK_SEQPACKET:提供序列化的、可靠的、双通道的、基于连接的数据报传输
- SOCK_RAW:提供原始的网络访问协议,可手工构建特殊协议类型的套接字,支持ICMP请求(如 ping)
- SOCK_RDM:提供可靠的数据报传输,无法保证顺序
2. socket_bind ( resource $socket , string $address [, int $port = 0 ] )
3. socket_listen ( resource $socket [, int $backlog = 0 ] )
用,它有两个参数,返回布尔值。
$length 是必选参数,指定读取的字节长度。
8. socket_set_option ( resource$socket , int$level , int$optname , mixed$optval )
10. socket_strerror ( int $errno )
1 |
<?php
$data = array('comment'=>'this is a robot comment');
$data = http_build_query($data);
$out = "POST http://demo.com/index.php?id=1 HTTP/1.1\r\n"; // 通过POST方式发送数据
$out .= "Host: demo.com\r\n";
$out .= "Content-type: application/x-www-form-urlencoded; charset=UTF-8\r\n";
$out .= "Content-length: ".strlen($data)."\r\n";
$out .= "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:48.0) Gecko/20100101 Firefox/48.0"."\r\n";
$out .= "Connection: close"."\r\n"."\r\n"; // 注意:此处有两个 \r\n
$out .= $data."\r\n"; // 正文数据
$fp = fsockopen("demo.com", 80, $errno, $errstr, 30); // 创建socket客户端连接
// $fp = stream_socket_client("tcp://demo.com:80", $errno, $errstr, 30); 推荐这种写法
fwrite($fp, $out); // 向服务器发送数据
while (!feof($fp)) {
echo fgets($fp, 1280); // 读取服务器响应的数据
}
fclose($fp); // 关闭socket连接
?>
|
php socket 函数的更多相关文章
- 使用socket()函数创建套接字
在Linux中,一切都是文件,除了文本文件.源文件.二进制文件等,一个硬件设备也可以被映射为一个虚拟的文件,称为设备文件.例如,stdin 称为标准输入文件,它对应的硬件设备一般是键盘,stdout ...
- PHP Socket实现websocket(二)Socket函数
PHP socket函数是调用系统的的Socket函数,可以参考C语言的socket函数. Socket函数:http://php.net/manual/en/book.sockets.php 服务器 ...
- Windows套接字Socket函数
1.使用套接字函数之前,先要加载套接字函数库: #include "Winsock2.h" #pragma comment(lib,"Ws2_32.lib") ...
- socket函数
为了执行网络IO,一个进程必须做的第一件事就是调用socket函数,指定期望的通信协议类型 int socket(int family,int type,int protocol); 其中,famil ...
- OVERLAPPED相关的socket函数介绍
OVERLAPPED相关的socket函数介绍 上一篇文章介绍了<Windows核心编程>OVERLAPPED结构与内核对象IOCompletionPort相关概念,见http://www ...
- windows socket函数详解
windows socket函数详解 近期一直用第三方库写网络编程,反倒是遗忘了网络编程最底层的知识.因而产生了整理Winsock函数库的想法.以下知识点均来源于MSDN,本人只做翻译工作.虽然很多前 ...
- python socket 函数介绍
socket 函数原型:socket.socket([family[,type[,proto]]]) family参数取值(协议族): socket.AF_INET -->ipv4 ...
- 【读书笔记】socket函数
socket函数 简介 应用程序调用socket函数来创建一个能够进行网络通信的套接字. 1 2 3 4 5 /* 头文件 */ #include <sys/types.h> #inclu ...
- socket()函数介绍
socket()函数介绍 socket函数介绍 函数原型 domain type protocol errno 示例 函数原型 socket()函数的原型如下,这个函数建立一个协议族为domain.协 ...
随机推荐
- Django 命令行工具django-admin.py与manage.py
django-admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每个Django Project里面都会包含一个manage ...
- Input输入控制
1.Input只能输入正整数 <html> <head> <title>只能输入正整数</title> </head> <body&g ...
- JavaScript-Tool:Numeral.js
ylbtech-JavaScript-Tool:Numeral.js A javascript library for formatting and manipulating numbers. 1. ...
- 快速开发jQuery插件的10大技巧
原文链接:http://wiki.itivy.com/?p=36 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & ...
- 2天时间终于把ntopng装好了
1.环境centos6.7x642.安装步骤,首先把centos按优化步骤完成3.更改centos的yum源,更改为阿里云的源.4.[root@netmon ntopng]# cat /etc/yum ...
- servlet的讲解
https://www.ibm.com/developerworks/cn/java/j-lo-servlet/
- 第12章 网络基础(2)_数据封装和IP地址
4. 数据封装和IP地址 (1)数据封装 (2)IP地址 ①在TCP/IP网络中,每个主机都有唯一的地址,它是通过IP协议族实现的. ②IP协议要求在每次与TCP/IP网络建立连接时,每台主机都必须为 ...
- 面向服务的SOA架构与服务总线ESB
之前的软件的开发主要是面向对象的编程架构 方法---对象---模块---组件---服务,感觉现在的开发的主流的软件架构的设计思想都是对其进行重用,只不过范围越来越大,有一个系统之间进行通信到多个系统之 ...
- 使用php的mysqli扩展库操作mysql数据库
简单介绍mysqli: 1.mysqli(mysql improve mysql扩展库的增强版) mysql扩展库和mysqli扩展库的区别 1.mysqli的稳定性 安全性 和 执行效率有所提高 ...
- blktrace分析IO
http://bean-li.github.io/blktrace-to-report/ 前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器.上一节介绍iostat的时候,我 ...