newlisp socket编程实例
有时候,我们需要一个方法获取自己上网的公网IP地址,可以无需编程,通过访问网站http://www.ip138.com/
即可知道。不过这种方法不适合系统自动化运维。写C++或者其他程序是不是太麻烦了点。
用newlisp来快速实现一个如何。
先看实现服务器的代码:
#!/usr/bin/newlisp ;; client connects to sender(if (not (set 'connection (net-connect "your_server_ip" 7980))) (println (net-error)));; maximum bytes to receive(constant 'max-bytes 1024);; message send-receive loop(println (net-send connection "hello"))(close connection)(exit)
这个小程序有很大的用处,特别是一方公网IP可能变化的情况下,用crontab定时调用client程序,也就是相当与定时通知服务器自己的公网IP,如果再加上路由的端口映射和SSH隧道,用处那是相当的大啊。大家可以灵活运用。:)