我需要将我的PHP应用程序(独立运行,而不是基于Web的)连接到服务器,并且还托管一个tcp套接字来连接它。.但是由于php不是多线程的,所以我无法拥有该服务器在一个套接字上监听,并同时托管另一个套接字!全部都必须放在一个文件中。是否可以同时运行这两个?
最佳答案
作为konforce答案的替代方法,请使用 socket_select()
一次收听两个套接字。返回时,它将告诉您哪些套接字可以读取/写入。正如pdb和konforce都正确指出的那样,您需要使用 socket_set_nonblock()
将套接字置于非阻塞模式。 socket_select()
告诉您套接字已准备好后,请为每个就绪的套接字尽可能多地写入或读取,然后再次调用socket_select()
。
关于php - PHP中的TCP/套接字,撑起我的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3624042/