用多进程来处理如何?因为accept一个客户端以后,应该是马上准备accept下一个客户端才对,而不是处理完现在这个客户端才accept下一个客户端。
socket_accept以后,直接调用
pcntl_fork(),此时进程会分裂为两个,其中一个的pnctl_fork返回值是0,另一个不是0。不是0的那个直接继续调用socket_accept即可,是0的那个处理客户端请求。
pnctl_fork不知道在windows下能不能用。
不过返回不是0的那个进程并不是这样就完事了,还要调用pcntl_wait防止子进程卡在那边没有完全结束。你可以在主进程里时不时就调用这个,配上WNOHANG作为option参数防止没有子进程需要wait的时候卡在那边。
这都是linux下常用的处理手段。说实话本来我想让你用多线程的,不过看了一圈不知道php里怎么用线程,倒是找到了用进程的方式,所以就
我不知道你具体要做到什么程度,但是如果是那种用C#开发一个客户端,然后用php作为服务端的语言这样的情况的话,倒是很好解决的。你可以在服务器端用php写一些网页,然后用C#去请求这些网页,然后获取这些网页上输出的结果,再根据这些结果来判断C#端要如何处理。
嗯……我不知道这么说你能懂不能,这个过程很像你通过浏览器去访问网页一样。
通过C#去请求服务器上的php链接,可以通过get的请求方式来传递一些参数,然后php页面返回json值给C#端,然后C#端对传回的json值进行处理,这样就完成交互了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)