我的問題只涉及C和Python中的套接字在性能上的差異。由於我的Python版本是CPython,我認爲它是相似的,但我很好奇,如果有人真的有「真實」的基準,或至少有一個基於證據的意見。C/Python Socket性能?
我的邏輯是這樣:
- 交流電插座更快?然後寫一個C 擴展名。
- 沒有/幾乎沒有區別? 保持在Python編寫,並找出 如何獲取數據包級別控制 (Scapy的?dpkt?)
我敢肯定有人會想知道這兩種上下文或好奇。我打算爲自己構建一種代理(不適用於Internet瀏覽,匿名等),並將我想要使用的應用程序綁定到特定端口。然後,所述端口上的所有分組將被排隊,地址頭被修改,然後被髮送等等。
在此先感謝。
謝謝Greg。你特別正確:「這可能嗎?」我不相信。 dpkt允許構造數據包的能力,但我相信我不能在數據包級別使用python套接字(反對它的抽象目的)。所以,我相信我必須編寫一個C擴展,以便我可以使用netfilter庫來允許這樣做。但是......這可能需要我在C中做套接字(我不知道,我以前從未做過C擴展)。 – Kevin 2009-12-15 19:32:33
@凱文,你爲什麼不能這樣做? 「原始」套接字支持不適合嗎? (請參見http://docs.python.org/library/socket.html最後一個示例,以供初學者參考。) – 2009-12-16 01:58:26