websocket是本地连接

时间:2018-04-25 11:27:05

标签: websocket raspberry-pi libwebsockets

我正在编写一个网站,其中服务器位于使用libwebsockets运行C程序的pi上。我想知道是否可以确定主机是本地的(从LAN连接)还是远程的(从WAN)。我想限制网页如果来自远程来源可以做什么。

1 个答案:

答案 0 :(得分:0)

您可以使用lws_get_peer_simple函数来获取IP地址:

char name[16];
lws_get_peer_simple(wsi,name,16);

从那里,应该很容易确定IP地址是否在本地子网中。一种方法是通过简单的字符串比较:

if(strstr(name,"10.")==name)return(LOCAL_NET);
if(strstr(name,"192.168."==name))return(LOCAL_NET);
return(PUBLIC_NET);