楼主:
b60413 (None)
2014-08-22 18:32:23最近在玩PHP搭配libevent做简易聊天室,
但发现同时开启大量连线数的时候,
连接就会开始断断续续(需等前面的连线成功上才可连接),
于是打算去细部调整socket的选项(backlog之类的设定),
但stream_socket_server function包的太上层, 所以无法针对底层去做设定,
因此想改用较底层的socket_create, socket_bind, socket_listen等socket相关function去写,
但改写完以后却发现libevent的event_set function第二个参数只能使用file descriptor的型态传入,
想请问php socket是否有办法取得file descriptor,
或者有其他方法可以改写或实做?
谢谢.
楼主:
b60413 (None)
2014-08-27 17:31:00自己试出来的方法是使用socket_import_stream把stream_socket_server建立的stream串给上述的function再将socket_import_stream取得的socket做设定目前使用该方法变更backlog的数量, 有效!自己在测试的时候, 是模拟10000个socket建立然后丢封包实际使用strace追踪, listen的backlog也确实被改变stream_socket_server的backlog大小为32, 可从设定变更?