客户端发给socket一个请求,服务器端使用php处理完成后,怎样在php里断开这个socket连接

2025-01-05 07:34:03
推荐回答(1个)
回答1:

你好,我在知道看到你的另外一个提问
你说你用fopen()打开的socket,应该指的是客户端那边用fopen()建立与服务器的连接的吧
socket的机制是,有一个服务端,然后客户端连接服务端的时候,服务端可以通过accept来获取一个客户端socket对象,PHP手册的socket_close()的说明是这样的

void socket_close ( resource socket )

socket_close() closes the socket resource given by socket. 注: socket_close() can't be used on PHP file
resources created with fopen(), popen(), fsockopen(), or pfsockopen(); it is meant for sockets created with socket_create() or
socket_accept().
See also socket_bind(), socket_listen(), socket_create() and socket_strerror().

大概意思是socket_close(resource socket )中的socket不能是由fopen(), popen(), fsockopen(), or pfsockopen()这些方法产生的,只能是socket_create() or socket_accept()方法,前面那些方法应该是在客户端用的啊,你服务端用的应该是socket_accept(),为什么不能用socket_close来关闭呢