- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在 Linux 中进行套接字编程。有一个问题。我们怎么可能允许特定的 IP 地址连接到我们的服务器。
例如:
我特别谈论的是我们将 INADDR_ANY 填充到我们的 sockaddr_in 结构
的代码行serv_addr.sin_addr.s_addr = INADDR_ANY;
其余代码仅供引用:
struct sockaddr_in serv_addr;
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = INADDR_ANY; // Here's my question!!
serv_addr.sin_port = htons(portno);
最佳答案
它被称为防火墙。在 Linux 上,您可以使用 iptables(8)
进行设置。
如果你想在你的应用程序中这样做,就不可能根据对等方的地址选择性地监听(你只能根据你的地址选择性地监听,如果你在 linux 上使用“弱端系统模型” “您必须检查您是否理解这意味着什么!---监听特定地址可能不会完全按照您的预期进行,并且不是丢弃来自不受信任接口(interface)的数据包的安全方法。)。
相反,监听 INADDR_ANY,然后在接受的 fd 上调用 getpeername(2)
,验证它,如果它与您的应用程序的过滤器不匹配则关闭连接。
关于linux - Linux 中的套接字 - serv_addr.sin_addr.s_addr = INADDR_ANY;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923530/
我想设置一个s_addr 变量的第一个字节,它只是一个unsigned long。这可能吗?如果可能,如何实现? 它不是一个字节数组,所以我不能这样访问它: struct in_addr addr;
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
sin_addr.s_addr之间究竟有什么区别?和 inet_addr ? addr.sin_addr.s_addr = inet_addr("127.0.0.1"); 是我在我的编程中使用的 -
这个问题在这里已经有了答案: Sockets - Using INADDR_ANY on client side (4 个答案) 关闭 5 年前。 在socket编程中是做什么的 servaddr.
我正在 Linux 中进行套接字编程。有一个问题。我们怎么可能允许特定的 IP 地址连接到我们的服务器。 例如: 允许 10.0.0.1 拒绝 10.0.0.1 我特别谈论的是我们将 INADDR_A
我正在尝试编写一个小的 socks 代理作为练习。 我正在尝试解析来自传入连接的 SOCKS 连接请求。 socks 协议(protocol)指定所需的目标地址为字节 4、5、6、7,所需的端口为字节
我正在尝试使用 gethostbyname() 函数提供的数据连接到远程主机的测试代码。在示例中,我发现他们执行以下操作: struct hostent* pHostent = gethostbyna
我遇到了两个线程: Socket with recv-timeout: What is wrong with this code? Reading / Writing to a socket usin
我遇到了两个线程: Socket with recv-timeout: What is wrong with this code? Reading / Writing to a socket usin
它是用于 ipv6 的吗?如果 ipv4 是 s_addr 只是重新解释为 32 位整数的虚线四边形? 最佳答案 unsigned long 保证变量的大小至少为4字节,从而保存了整个ip。 unsi
我是一名优秀的程序员,十分优秀!