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

 我来答
陌路的扬尘
2012-11-05 · TA获得超过667个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:301万
展开全部
你好,我在知道看到你的另外一个提问
你说你用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来关闭呢
更多追问追答
追问
resourcesocket_accept ( resource$socket )在使用之前应该使用bind()进行绑定,在客户端使用的是java实现的,java里能进行资源的绑定吗?
追答
JAVA是这样的
服务端
ServerSocket ss = new ServerSocket(端口号01);
客户端
Socket s = new Socket(服务端地址,端口号01);
接着服务端可以通过Socket s = ss.accept()来获取客户端连接上的socket对象来对它操作

你说的bind方法是绑定端口号的,没有影响到服务端的使用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式