php socket服务端能不能在网页端开启?而不是只能用CLI模式开启
最近在做基于php socket的聊天程序,但是遇到了个问题:
开启ws端口只能在CMD下用php server.php的方式来开启端口,并不能关闭该CMD命令行窗口,一旦关闭就断开了socket连接。
请问,能不能做到不用这样的方式来开启ws服务端,而成为在网页端来开启?怎么做?
回复讨论(解决方案)
可以从网站上开启,但需要注意以下问题:
1、因为端口不能重复打开,所以你必须保证 server.php 只会被运行一次
2、web 方式下的 php 是超时设置有效的,当然你需要设置成永不超时
3、web 服务器是有超时限制的,虽然时间比较长。应用程序长时间无数据输出,将会被挂起或中断
4、如果 server.php 间歇的做标准输出的话,可以解决 3 的问题。但会引发下一个问题
5、php 在向标准输出写的时候,会检查到请求源的连接是否畅通。如果请求源被关闭了,就会终止程序的运行
当然也提供有阻止这一默认行为的方法
其实命令窗口的存在并不是什么坏事,至少他可以表示 ws 服务器正在工作
另外 ws 服务器在运行时,你应该要把重要的日志信息打印在窗口中,以便实时监视运行情况
可以从网站上开启,但需要注意以下问题:
1、因为端口不能重复打开,所以你必须保证 server.php 只会被运行一次
2、web 方式下的 php 是超时设置有效的,当然你需要设置成永不超时
3、web 服务器是有超时限制的,虽然时间比较长。应用程序长时间无数据输出,将会被挂起或中断
4、如果 server.php 间歇的做标准输出的话,可以解决 3 的问题。但会引发下一个问题
5、php 在向标准输出写的时候,会检查到请求源的连接是否畅通。如果请求源被关闭了,就会终止程序的运行
当然也提供有阻止这一默认行为的方法
其实命令窗口的存在并不是什么坏事,至少他可以表示 ws 服务器正在工作
另外 ws 服务器在运行时,你应该要把重要的日志信息打印在窗口中,以便实时监视运行情况
非常感谢分析并回答!
因为在win下,CMD窗口一直在运行,并且不能关闭,一旦关闭将会停止运行socket服务,而这个窗口在桌面上显示人总会有种想关闭的冲动,或者一不小心就会关闭。所以才想出这样的狠招!
根据你的方法,设置了超时限制后,在网页端直接开启ws服务,在xampp的netstat中查看,创建的进程中,多出了个12345端口(设置的ws端口),而后面显示的name为httpd.exe,说明是由httpd.exe创建的,而前面php server.php在命令行下面创建的进程,则是由php.exe创建的,不知道这样有没有什么弊端?
没有什么弊端,尤其是在调试环境中
如果是正式的服务,那么在服务器桌面上多一个命令窗口有什么关系?谁也不会在服务器上做日常工作的
好的,再次感谢

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

win11和win10一样,为了保护系统推出了内存完整性功能,但是很多朋友不知道这个功能有什么用,那么win11内存完整性要不要开呢,其实这与电脑系统有关系。win11内存完整性要不要开:答:如果电脑配置高,或者只是日常办公影音可以开;如果我们的电脑配置较差,或者追求高性能的话不要开。win11内存完整性相关介绍:1、内存完整性原理是硬件虚拟化创建隔离的环境。2、它保护好我们的系统,保护内存安全。3、缺点是,开启该功能后会随时运行,占用内存,降低性能。4、而且一旦开启,关闭起来也会比较麻烦,一定

微信勿扰模式什么意思如今,随着智能手机的普及和移动互联网的迅猛发展,社交媒体平台已经成为人们日常生活中不可或缺的一部分。而微信作为国内最流行的社交媒体平台之一,几乎每个人都有一个微信账号。我们可以通过微信与朋友、家人、同事进行实时沟通,分享生活中的点滴,了解彼此的近况。然而,在这个时代,我们也不可避免地面临着信息过载和隐私泄露的问题,特别是对于那些需要专注或

NVIDIA中有一个dlss功能,用户开启dlss后可以大大提高游戏帧数,因此有不少小伙伴都在问小编dlss怎么打开。首先要保证显卡支持dlss,游戏支持dlss,就可以在游戏中开启了。下面就来看看具体的教程。 答:dlss一般都需要在游戏中开。 开启dlss要满足设备和游戏的条件才可以。 dlss就是“光线追踪效果”,大家可以进入游戏的设置。 然后进入“图像或者图形”设置。 随后找到“光线追踪光照”点击打开即可。 d

硬件加速GPU有必要开吗?随着科技的不断发展与进步,GPU(GraphicsProcessingUnit)作为计算机图形处理的核心组件,扮演着至关重要的角色。然而,一些用户或许对于是否需要开启硬件加速功能持有疑问。本文将探讨硬件加速GPU的必要性,以及开启硬件加速对计算机性能和使用体验的影响。首先,我们需要了解硬件加速GPU的工作原理。GPU是一种专门用

经常有使用win10系统的小伙伴问以太网禁用怎么开启,其实这个操作非常的简单,需要去进入网络的设置中才可以进行,接下来小编带大家一起来看看吧。win10以太网禁用怎么开启:1、首先点击右下角的网络连接图标,打开网络和Internet设置。2、然后去点击以太网。3、之后点击“更改适配器选项”。4、此时可以右击“以太网”,选择禁用就可以了。

最近很小伙伴发现电脑麦克风打不开,而现如今无论是台式电脑还是笔记本电脑都会带有麦克风的功能,这也为我们提供了大大的方便,但有很多的朋友在使用的过程中会突然发现自己的电脑麦克风没有了声音,下面小编就来教给大家电脑麦克风打开该怎么解决。具体的一起来看看吧。win10麦克风权限在开启的方法1、在Windows10系统下打开录音机时,弹出“您需要在设置中设置麦克风”的提示。2、这时我们可以点击屏幕左下角的开始按钮,在弹出的菜单中选择“设置”菜单项。3、在打开的Windows设置窗口中点击“隐私”图标。4

即使在“请勿打扰”模式下接听电话也可能是一种非常烦人的体验。顾名思义,请勿打扰模式可关闭来自邮件、消息等的所有来电通知和警报。您可以按照这些解决方案集进行修复。修复1–启用对焦模式在手机上启用对焦模式。步骤1–从顶部向下滑动以访问控制中心。步骤2–接下来,在手机上启用“对焦模式”。专注模式可在手机上启用“请勿打扰”模式。它不会让您的手机上出现任何来电提醒。修复2–更改对焦模式设置如果对焦模式设置中存在一些问题,则应进行修复。步骤1–打开您的iPhone设置窗口。步骤2–接下来,打开“对焦”模式设

当我们要长时间离开电脑,但是又不想关机的时候,就可以让电脑进入休眠模式,不过在更新win11后,我们找不到win11休眠模式怎么开启了,其实只要在控制面板里打开即可。win11休眠模式怎么开启方法一:使用开始菜单点击底部开始菜单,接着点击电源按钮,在其中就能休眠了。方法二:运用高级用户菜单1、在桌上面的搜索框中搜索并打开“控制面板”,点开“硬件和声音”选项,点击电源选项下的“更改电源按钮的功能”。2、进入后,点击“更改当前不可用的设置”,、最后勾选“休眠”,并保存就能执行休眠功能了。方法三:指令
