我寫了一個像here這樣的套接字服務器。如果我在telnet中鍵入ctrl+c
,服務器現在不做任何事情。我想抓住它,就像signal(SIGINT,SIG_IGN)
我該怎麼辦?telnet catch ctrl + c服務器
1
A
回答
2
telnet程序捕獲CTRL-C字符,並將其作爲TCP連接的單個字節(\x03
)發送到另一端。接收程序決定如何處理該字節。
如果它被一個「telnet守護進程」接收,意圖通過僞終端提供類似控制檯的交互性,那麼組合會爲其下運行的進程產生SIGINT,通常是一個shell。
因此,要回答你的問題,你可以處理收到的\x03
字符,並在內部生成一個SIGINT,或者你可以運行你的整個程序作爲一個由telnetd在僞終端下產生和控制的進程。
0
Telnet客戶端(即臨危的SIGINT過程中)應該對其進行處理:無論是處理在本地(如:終止,或重新發出提示),或將其發送到服務器作爲IAC 東西(BRK? )和/或帶外數據。 如果您想將中斷傳遞給服務器,Google for「telnet IAC」可能會讓您開始。
相關問題
- 1. Perl Net :: Telnet發送CTRL + C
- 2. Telnet阻止C#TCP服務器
- 3. 在C編寫Telnet服務器和Telnet客戶端
- 4. 印SMTP服務器和Telnet
- 5. CTRL + C忽略Webbrick服務器
- 6. Unix的:是Epoll,抓CTRL + d和CTRL + C在服務器
- 7. 蟒蛇telnet服務器崩潰
- 8. Catch CTRL- \ signal
- 9. Catch-all SMTP服務器+ GUI
- 10. Telnet後臺服務器回覆
- 11. C#中的Telnet服務器:C#中的AsyncConnection
- 12. 按Ctrl-Z發送到Fedora服務器通過telnet不停止的過程
- 13. SSH客戶端到telnet服務器JAVA
- 14. Ruby線編輯telnet服務器
- 15. 從服務器上通過SSH的telnet
- 16. ssh隧道通過telnet服務器
- 17. 蟒蛇行編輯telnet服務器
- 18. Telnet服務器的Ubuntu - 密碼流
- 19. Telnet服務器中的換行符
- 20. Telnet到谷歌郵件服務器
- 21. 如何處理與Telnet服務器Telnet會話
- 22. 在C編寫的Linux TCP/IP服務器中處理Ctrl-C
- 23. 錯誤在C++設置服務器用於telnet客戶端
- 24. TCP C客戶端不發送,但telnet到服務器
- 25. C++ WinSock將命令發送到telnet服務器
- 26. 如何從telnet或SSH訪問c#套接字服務器?
- 27. Telnet服務器和客戶端代碼c
- 28. 使用C自動登錄到Telnet服務器#
- 29. WPF Catch Ctrl + N不工作
- 30. 爲什麼ctrl c不停止龍捲風服務器