4.php socket
来源:互联网 发布:数据分析属经济学吗 编辑:程序博客网 时间:2024/06/03 13:04
socket相关函数:----------------------------------------------------------------------------------------------socket_accept() 接受一个Socket连接socket_bind() 把socket绑定在一个IP地址和端口上socket_clear_error() 清除socket的错误或者最后的错误代码socket_close() 关闭一个socket资源socket_connect() 开始一个socket连接socket_create_listen() 在指定端口打开一个socket监听socket_create_pair() 产生一对没有区别的socket到一个数组里socket_create() 产生一个socket,相当于产生一个socket的数据结构socket_get_option() 获取socket选项socket_getpeername() 获取远程类似主机的ip地址socket_getsockname() 获取本地socket的ip地址socket_iovec_add() 添加一个新的向量到一个分散/聚合的数组socket_iovec_alloc() 这个函数创建一个能够发送接收读写的iovec数据结构socket_iovec_delete() 删除一个已经分配的iovecsocket_iovec_fetch() 返回指定的iovec资源的数据socket_iovec_free() 释放一个iovec资源socket_iovec_set() 设置iovec的数据新值socket_last_error() 获取当前socket的最后错误代码socket_listen() 监听由指定socket的所有连接socket_read() 读取指定长度的数据socket_readv() 读取从分散/聚合数组过来的数据socket_recv() 从socket里结束数据到缓存socket_recvfrom() 接受数据从指定的socket,如果没有指定则默认当前socketsocket_recvmsg() 从iovec里接受消息socket_select() 多路选择socket_send() 这个函数发送数据到已连接的socketsocket_sendmsg() 发送消息到socketsocket_sendto() 发送消息到指定地址的socketsocket_set_block() 在socket里设置为块模式socket_set_nonblock() socket里设置为非块模式socket_set_option() 设置socket选项socket_shutdown() 这个函数允许你关闭读、写、或者指定的socketsocket_strerror() 返回指定错误号的详细错误socket_write() 写数据到socket缓存socket_writev() 写数据到分散/聚合数组
server.php
<?phpecho '<pre>';set_time_limit(0);$ip = '127.0.0.1';$port = 1936;// 创建$sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);if (!$sock) { $errCode = socket_last_error($sock); $errMsg = socket_strerror($errCode); var_dump($errCode); var_dump($errMsg); return false;}// 绑定if (!socket_bind($sock,$ip,$port)) { $errCode = socket_last_error(); $errMsg = socket_strerror($errCode); var_dump($errCode); var_dump($errMsg); return false;}// 监听if (!socket_listen($sock,4)) { $errCode = socket_last_error(); $errMsg = socket_strerror($errCode); var_dump($errCode); var_dump($errMsg); return false;}print_r($sock);while(true){ $newSock = socket_accept($sock); if (!$newSock) { $errCode = socket_last_error(); $errMsg = socket_strerror($errCode); var_dump($errCode); var_dump($errMsg); return false; }echo 'connection build success <br/>'; $sendClient = '发送到客户端'; if (!socket_write($newSock,$sendClient,strlen($sendClient))) { echo '发送到客户端失败<br/>'; return false; } $buf = socket_read($newSock,8192); if (!$buf) { echo '从客户端读取失败'; return false; } echo '收到信息'.$buf;}
client.php
<?phperror_reporting(E_ALL);set_time_limit(0);$ip = '127.0.0.1';$port = 1936;$sock = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);if (!$sock) { $errCode = socket_last_error($sock); $errMsg = socket_strerror($errCode); var_dump($errCode); var_dump($errMsg); return false;}print_r($sock);$ret = socket_connect($sock,$ip,$port);print_r($ret);if (!$ret) { $errCode = socket_last_error($sock); $errMsg = socket_strerror($errCode); print_r($errCode); print_r($errMsg); return false;}echo 'ok';$buf = socket_read($sock,8192);if (!$buf) { echo '从服务器收信息失败'; return false;}echo '从服务器收到信息 :'.$buf;return true;
http://www.cnblogs.com/thinksasa/archive/2013/02/26/2934206.html
http://blog.csdn.net/yanhui_wei/article/details/38705879
http://www.oschina.net/code/snippet_1046345_43875
http://www.cnblogs.com/-shu/p/4600995.html
阅读全文
0 1
- 4.php socket
- PHP socket
- php socket
- php Socket
- php socket
- PHP Socket
- php socket
- PHP socket
- php socket
- php socket
- PHP socket
- PHP socket
- php socket
- php socket
- Php Socket
- php socket
- php socket
- PHP socket
- 168. Excel Sheet Column Title
- SSH(Spring+Struts+Hibernate)框架学习之分页技术的实现
- 雅虎终于死了:从市值 1000 亿到贱卖 48 亿,到最后连名字都没保住
- 【LeetCode】39. Combination Sum
- POJ 3617 Best Cow Line(贪心)
- 4.php socket
- hadoop zookeeper hive hbase kylin等的部署
- 5.23号 踏入前端。。。是不是高大尚哈
- UVa 12169(基础模运算)
- Java集合框架完全解析
- 仿京东分类联动列表
- mybatis generatorConfig.xml生成配置文件及三种运行方式
- css分辨率识别,移动端固定图片大小
- R语言基础