![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php游戏服务器相关
阿鹏哥哥01
这个作者很懒,什么都没留下…
展开
-
sysvsem,sysvshm,sysvmsg,PHP的事件驱动化设计
作者:laruence(http://www.laruence.com/)· 本文地址: http://www.laruence.com/2008/04/21/101.html· 转载请注明出处 最近在做一个需要用到异步PHP的项目, 翻阅PHP源码的时候,发现了三个没有用过的模块,sysvsem,sysvshm,sysvmsg,一番研究以后,受益非浅。转载 2016-04-06 10:38:53 · 4490 阅读 · 0 评论 -
tcp粘包分析
这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下: 一 .两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此转载 2016-06-05 19:14:30 · 400 阅读 · 0 评论 -
解决TCP网络传输“粘包”问题
当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协议:TCP和UDP。其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP(user datagram protocol,用户数据报协议)是无连接的,提供高效率服务。在实际工程应用中,对可靠性和效率的转载 2016-06-05 19:16:21 · 334 阅读 · 0 评论 -
TCP和UDP的"保护消息边界"
在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。 对于UDP转载 2016-06-05 19:17:46 · 293 阅读 · 0 评论 -
三分钟编写PHP可扩展模块
(本文由 song.xian-guang 原创,如果您觉得对您有帮助,请评论之,如需转载,请指明链接;作者保留所有权利, 禁止商业用途)根据我的提示,三分钟内你就能制作自己的PHP可扩展模块: 第一步:搭建模块框架下载并解压php源代码,配置、编译、安装:[root@localhost php-ext-demo]# tar jxvf php-5.2.5.tar.转载 2017-02-16 12:11:17 · 1679 阅读 · 0 评论 -
网络物理模拟(三):具有确定性的帧同步
翻译:张乾光(星际迷航) 审校:陈敬凤(nunu)大家好,我是格伦·菲德勒。欢迎大家阅读系列教程《网络物理仿真》,这个系列教程的目的是将物理仿真的状态通过网络进行广播。在之前的文章中,我们讨论了物理仿真需要在网络上进行广播的各种属性。在这篇文章中,我们将使用具有确定性的帧同步技术来将物理仿真通过网络进行传递和广播。具有确定性的帧同步是一种用来在一台电脑和其他电脑之间进行同步转载 2017-02-13 11:46:50 · 3760 阅读 · 1 评论 -
PHP扩展库安装遇到的问题总结
首先来说明下遇到的问题,公司用php做游戏服务器开发语言,当然还用了php传说中不擅长的长连接(个人觉得开发效率高于机器成本,现在分布式网络集群时代,没必要省那么点钱),我们涉及到php5.3版本升级到5.6的时候,有的php扩展不能用了,蛋疼;涉及到的模块有libevent,对,就是它,这是干吗用的呢?应为我们是长连接,必然是高并发的io密集型应用程序,所以,用libevent做io原创 2017-02-13 16:13:33 · 1559 阅读 · 0 评论 -
PHP支持断点续传,分块下载的类
/** * User: djunny * Date: 2016-04-29 * Time: 17:18 * Mail: 199962760@qq.com * 支持断点下载的类 */class downloader { /** * download file to local path * * @param $url * @param转载 2017-02-24 10:07:02 · 994 阅读 · 1 评论 -
php代码加密
如何对PHP文件进行加密——ZendGuard加密与ZendLoader解密end Guard是目前市面上最成熟的PHP源码加密产品。经过本人搜集资料,亲身测试后,总结了如何利用Zend Guard对PHP文件进行加密,以及如何利用Zend Loader对加密后的PHP文件进行解密。我使用的是Wampserver2.2,其中php的版本是5.3.10。(注意转载 2017-10-24 10:09:32 · 1318 阅读 · 0 评论 -
安装php扩展pthreads实现PHP多线程 原创qw871122015-04-16 17:01评论(0)948人阅读 下面介绍两种编译方式: 1、在已有的PHP上编译pthreads扩展 注:需
安装php扩展pthreads实现PHP多线程原创qw871122015-04-16 17:01评论(0)948人阅读下面介绍两种编译方式:1、在已有的PHP上编译pthreads扩展注:需要动态加载pthreads模块,之前在编译php时必须启用--enable-maintainer-zts;否则需要重新编译PHP。pt转载 2017-11-29 11:20:51 · 377 阅读 · 0 评论 -
PHP多进程编程实例
羡慕火影忍者里鸣人的影分身么?没错,PHP程序是可以开动影分身的!想完成任务,又觉得一个进程太慢,那么,试试用多进程来搞吧。这篇文章将会介绍一下PHP多进程的基本需求,如何创建多进程以及基本的信号控制,暂时不会告诉你如何进行进程间通信和信息共享。1. 准备在动手之前,请确定你用的不是M$ Windows平台(因为我没有Windows)。Linux / BSD / Unix应该都是没转载 2016-04-29 11:27:41 · 444 阅读 · 0 评论 -
php闭包 function() use($obj){ $obj->function() }
文中所描述的观点或代码有不正确的地方, 请指正, 以免误导他人, 谢谢 [php] view plain copy/** * author: selfimpr * mail: lgg860911@yahoo.com.cn * blog: http://blog.csdn.net/lgg201 * 下面提到的转载 2016-04-08 11:56:00 · 844 阅读 · 0 评论 -
phpredis
PHP-redis中文文档phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis官方提供的命令使用技巧:下载地址如下:https://github.com/owlient/phpredis(支持redis 2.0.4)Redis::__construct构造函数$redis = ne转载 2016-04-05 14:58:46 · 250 阅读 · 0 评论 -
PHP 操作redis 详细讲解
PHP 操作redis 详细讲解转的phpredis是redis的php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis官方提供的命令使用技巧:下载地址如下:https://github.com/owlient/phpredis(支持redis 2.0.4)Redis::__construct转载 2016-04-05 11:48:09 · 8766 阅读 · 0 评论 -
PHP Libevent扩展安装及应用
PHP Libevent扩展安装及应用libevent是一个基于事件驱动的高性能网络库。支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。PHP libevent扩展安装:libevent扩展依赖于原始的libevent库,必须先把libevent库安装。转载 2016-04-03 01:01:09 · 519 阅读 · 0 评论 -
centos环境下为php安装sysvmsg扩展
这里以sysvmsg为例子1.进入php安装文件的目录cd /home/soft/php-5.3.17/ext 这里我们需要安装sysvmsg,则cd sysvmsg/再执行再执行 /usr/local/php/bin/phpize 会返回如下信息:(假设我的php安装在/usr/local/php这个目录)Configuring for:PHP Api转载 2016-04-01 17:24:19 · 2577 阅读 · 0 评论 -
sysvshm 这是共享内存
PHP实现共享高速内存数据池(非MYSQL数据库) - 类似asp的application 为什么要实现这个共享内存池呢? 因为PHP每一次请求,服务器调用一次PHP.EXE程序进行PHP文件的解析.之后该程序就会被关闭.所以不存在共享内存机制.懂asp的朋友应该知道,在asp内共享内存缓存可以使用application,但是php内没有,所以我们就研究一下让php也具备该能转载 2016-04-06 11:35:34 · 2327 阅读 · 2 评论 -
Linux进程间通信
Linux进程间通信一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。D、转载 2016-04-06 11:58:11 · 385 阅读 · 0 评论 -
利用PHP操作Linux消息队列完成进程间通信
当我们开发的系统需要使用多进程方式运行时,进程间通信便成了至关重要的环节。消息队列(message queue)是Linux系统进程间通信的一种方式。 关于Linux系统进程通信的概念及实现可查看:http://www.ibm.com/developerworks/cn/linux/l-ipc/ 关于Linux系统消息队列的概念及实现可查看:http://www.ibm.com/dev转载 2016-04-06 11:59:47 · 553 阅读 · 0 评论 -
php写守护进程(Daemon)
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。php也可以实现守护进程的功能。 1、基本概念 进程 每个进程都有一个父进程,子进程退出,父进程能得到子进程退出的状态。 进程组 每个进程都属于一个进转载 2016-04-06 19:07:59 · 319 阅读 · 0 评论 -
Unix域套接字
管道由于只能实现具有亲缘进程的进程间通信,使用受到了很大的限制,命名管道解决了这一问题。但是,无论是管道还是命名管道,都只能实现单向通信(在只创建一个管道的情况下)。使用套接字除了可以实现网络间不同主机间的通信外,还可以实现同一主机的不同进程间的通信,且建立的通信是双向的通信。这里所指的使用套接字实现进程间通信,是由将通信域指定为PF_UNIX来实现的。该函数的形式如下:int socke转载 2016-04-07 10:52:19 · 260 阅读 · 0 评论 -
PHP之pthread拓展使用以及坑
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]PHP是为WEB开发而生,以前PHP是没有线程的说法,直到pthread的出现,这样php增加了活力; 资料来源:http://php.net/manual/zh/book.pthreads.php一. 线程的创建和使用1. Thread类基本的创建和使用转载 2017-12-01 14:56:45 · 1199 阅读 · 0 评论