簡體   English   中英

如何將套接字控制傳遞給子進程?

[英]how to pass socket control to child process?

我寫了一個小型的代理服務器,它偵聽端口25並執行一些操作。

如果是安全的SMTP,我將派一個進程,並讓子進程接管此會話。

思想過程是該子過程應該是迎合特定客戶請求的過程。 如果有另一個客戶端發送郵件(受保護的),那么我需要分叉另一個進程。

但是發生的事情是,一旦子進程處理了客戶請求,它就會繼續監聽,但不會迎合該客戶。 父進程已經在此套接字上偵聽,因此每次都會派生一個新進程。

我該如何處理這種情況? 如果已為客戶端(IP地址)派生了一個進程,則不應發生新的派生。 現有的子進程應處理這些請求。

該程序基於C並在linux上運行。

在客戶端進程中保留發件人的信息。 當您收到新的SMTP消息時,請檢查發件人是否與以前相同。 如果是這樣,請勿分叉到新客戶端。

如果這不能回答您的問題,請包括代碼的基本部分,以便我們可以查看邏輯故障所在的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM