⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcp_ip_ruleset.c

📁 用GTK+做用户界面 股票每日分时行情用数据库管理——MYSQL 软件应用方式客户端/服务器模式 基于TCP/IP的C/S通信模式 实现STOCK
💻 C
字号:
#include "tcp_ip_ruleset.h"#include "config.h"#include <iostream.h>#include <fstream.h>ostream& operator <<(ostream& os, TcpIpRuleSet& r) {  unsigned int i;  for(i = 0; i < r.rules.size(); i++)   {    os << r.rules[i] << endl;   }  return os; }ostream& operator <<(ostream& os, TcpIpRule& r) {  os << inet_ntoa(r.netnum) << "/";  os << inet_ntoa(r.netmask);  return os; }int TcpIpRuleSet::ok(struct in_addr& host) {  unsigned int i;   if(default_policy == DENY)   {    for(i = 0; i < rules.size(); i++)    {     if(rules[i].allowed(host))      return 1;    }       return 0;   }  if(default_policy == ALLOW)   {    for(i = 0; i < rules.size(); i++)    {     if(rules[i].denied(host))      return 0;    }       return 1;   } }#ifdef DEBUGint main(int argc, char** argv) {  if(argc != 3)   {    cerr << "Usage: " << argv[0] << " rules_file ip_file" << endl;    exit(1);   }   ifstream ip(argv[2]), rules(argv[1]);  if(!rules)   {    cerr << "Could not open rules file" << endl;    exit(1);   }  if(!ip)   {    cerr << "Could not open ip file" << endl;    exit(1);   }  TcpIpRuleSet r;   while(1)    {     char netnum[128], netmask[128];     rules >> netnum >> netmask;     cout << "reading: " << netnum << " " << netmask << endl;     if(!rules) break;     r.add_rule(netnum, netmask);        }   cout << "ruleset:" << endl << r;   while(1)    {     char netnum[128], netmask[128];     rules >> netnum >> netmask;     cout << "reading: " << netnum << " " << netmask << endl;     if(!rules) break;     r.add_rule(netnum, netmask);        }   cout << "access:" << endl ;    while(1)    {     char ip_str[128];     ip >> ip_str;     if(!ip) break;     cout << ip_str << " is " << (r.ok(ip_str) ? " allowed " : " denied") << endl ;        } }#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -