函数
listen( ListenSocket, SOMAXCONN )
被avira antivirus检测为后门模型。
如果没有侦听功能,我如何编写小型客户端/服务器应用程序?
有办法做到这一点吗?
发布于 2010-08-05 15:01:03
如果你需要接受连接,那么不,你不能在不调用listen的情况下这样做。
如果您可以使您的应用程序只是一个客户端,并且让服务器在其他地方运行,那么您的客户端可以连接到服务器,而服务器可以充当其他客户端连接到的代理……
不管怎样,我不会担心这件事。如果你正在运行一台服务器,你希望能够从运行它的机器以外的机器上连接到它,那么你的文档将不得不解释如何打开防火墙端口等等,所以只需添加如何将该应用程序排除在它混淆的防病毒应用程序之外的细节。
此外,您的应用程序正在接受来自外部来源的连接,因此防病毒应用程序警告用户是正确的。你需要教育用户,你的应用程序这样做是可以的,因为它这样做是出于任何合理的原因。如果您不想向用户解释它,那么,IMHO,您正在编写一个后门;)
发布于 2010-08-05 15:37:19
卸载Avira Antivirus ;-)
根据定义,服务器侦听传入的连接,而客户端启动到服务器的连接。在TCP/IP网络中,服务器通过bind()和listen()到套接字来实现这一点。
发布于 2010-08-05 15:40:35
Avira充满了各种各样的误报,这些误报很容易解决。尝试将侦听存储到函数指针中并调用它。也许能行得通。
https://stackoverflow.com/questions/3412024
复制相似问题