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脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++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.此時可以右鍵點選“乙太網路”,選擇停用就可以了。

即使在「請勿打擾」模式下接聽電話也可能是一種非常煩人的體驗。顧名思義,請勿打擾模式可關閉來自郵件、訊息等的所有來電通知和警報。您可以按照這些解決方案集進行修復。修復1–啟用對焦模式在手機上啟用對焦模式。步驟1–從頂部向下滑動以存取控制中心。步驟2–接下來,在手機上啟用「對焦模式」。專注模式可在手機上啟用「請勿打擾」模式。它不會讓您的手機上出現任何來電提醒。修復2–更改對焦模式設定如果對焦模式設定中存在一些問題,則應進行修復。步驟1–打開您的iPhone設定視窗。步驟2–接下來,開啟「對焦」模式設

高德地圖軟體以其卓越的功能,為使用者的出行提供了極大的便利。其中,即時路況功能備受用戶好評,因為它能夠幫助用戶更準確地了解道路狀況,避免擁堵,選擇最佳路線。那麼子安啊才能開啟高德地圖的即時路況情況呢,想要了解的用戶們就快來下文中跟著小編的這篇教程攻略一起詳細了解一下吧!高德地圖即時路況怎麼開啟答案:【高德地圖】-【圖層】-【路況】。具體步驟:1、先開啟高德地圖軟體,進入到首頁我們可以看到右上角的有通知、圖層、回饋按鈕,在這裡點擊【圖層】;2、然後點擊過後會彈出一個對話框,在這裡我們點選【路況】

最近很小夥伴發現電腦麥克風打不開,而現如今無論是桌上型電腦還是筆記型電腦都會帶有麥克風的功能,這也為我們提供了大大的方便,但有很多的朋友在使用的過程中會突然發現自己的電腦麥克風沒有了聲音,下面小編就來教大家電腦麥克風打開該怎麼解決。具體的一起來看看吧。 win10麥克風權限在開啟的方法1、在Windows10系統下開啟錄音機時,彈出「您需要在設定中設定麥克風」的提示。 2.這時我們可以點選螢幕左下角的開始按鈕,在彈出的選單中選擇「設定」選單項目。 3.在開啟的Windows設定視窗中點選「隱私」圖示。 4
