Commit Graph

73 Commits

Author SHA1 Message Date
大石头X2 1eff827d45 标准化指针符号 2017-03-01 02:57:55 +08:00
大石头X2 3f2747222c 修正vc++编译时的各种警告,主要是有符号数和无符号数比较 2017-02-27 17:23:57 +08:00
大石头 fa329294f1 绝对路径引用Sys.h,避免与lwip冲突 2017-02-15 20:02:29 +08:00
大石头X2 be55364584 修正GCC编译警告 2017-02-14 09:47:23 +08:00
大石头X2 fda1e688f6 DHCP清空本地IP后,需要执行一次Config,否则W5500无法应用新的IP,导致DHCP申请失败 2017-02-08 20:45:06 +08:00
大石头X2 5e72d23af9 网络接口循环检测网络时,增加错误重试次数,W5500避免太多错误日志 2017-02-08 18:30:02 +08:00
大石头X2 dfab94d73e 增加Socket::CreateRemote作为创建网络连接的主要方法 2017-02-06 09:55:00 +08:00
大石头X2 c29903d8df 速度决定网络接口优先级 2017-02-04 23:18:15 +08:00
大石头 1e5255699f 准备调整网络架构为多网络接口共存架构,有线无线网同时使用。
ISocketHost=>NetworkInterface
ISocket=>Socket
2017-02-03 20:20:52 +08:00
WangQiang 22a6dbd5e8 dhcpid 使用的随机数使用 Time.CurrentTicks() 作为随机数种子 每次启动拿到不同 dhcpid 测试通过 2016-07-11 03:59:17 +00:00
WangQiang 95b38adbfc 使用Random类 做随机数 2016-07-11 02:50:53 +00:00
WangQiang 770804507e dhcpid 加入随机值 2016-07-11 01:59:59 +00:00
Stone 831f212f91 检查是否还在运行 2016-07-01 07:22:54 +00:00
Stone ef142fa246 软路由的DHCP要求很严格,必须先把自己IP设为0 2016-07-01 06:31:24 +00:00
Stone 22c84fea74 2016-06-30 13:44:14 +00:00
Stone 1d767a00d7 全面使用NetType 2016-06-28 12:47:12 +00:00
Stone ea1c1ea269 异步调用OnStop 2016-06-27 11:58:51 +00:00
Stone f5caa8a664 完成强类型事件委托,测试通过!
支持全局函数、静态成员函数和实例成员函数,作为事件处理函数。
2016-06-18 09:48:12 +00:00
Stone d5fe4ad544 增强委托Delegate,把一切委托调用封装为函数指针和目标对象指针,极大方便使用,虽然执行的时候可能错误传递参数 2016-06-17 12:48:15 +00:00
nnhy e73fd4ed45 废弃Net,统一为Socket 2016-05-27 02:08:42 +00:00
nnhy 8194e555e1 重构SmartOS的结构,基本类型独立Core目录,平台无关 2016-05-17 14:13:51 +00:00
nnhy 4c312da65f 3分钟后继续启动DHCP 2016-03-31 03:52:37 +00:00
nnhy 48d98fb8f8 DHCP延迟时间改为500*10*6,共30秒 2016-03-31 03:49:30 +00:00
nnhy f242108bb7 2016-03-29 03:36:50 +00:00
nnhy 6eb9faed99 Token要使用引用,而不是拷贝,否则会导致对象被释放 2016-03-29 01:30:12 +00:00
nnhy 2568b27936 成功获取DHCP信息后,采用本地DNS为主DNS,阿里公共DNS为备用DNS 2016-03-27 13:24:52 +00:00
nnhy b2e4ee5ce3 恢复上一次设置,如果首次,则恢复出厂设置 2016-03-27 13:07:09 +00:00
nnhy 4d2af57d1b 4,DHCP最大失败时间定为500*5*2,每500毫秒发送一次Discover,每一个会话发送5次,一共进行两轮会话尝试,最大失败时间5秒。
5,DHCP在尝试5秒后恢复上一次取得的IP或出厂静态IP继续工作。
2016-03-27 12:43:41 +00:00
nnhy d437d68948 严格路由要求默认请求的IP必须在本网段,否则不予处理 2016-03-21 01:15:55 +00:00
nnhy d34a4bf749 DHCP租约过期前提前一分钟重新获取IP地址 2016-03-20 03:04:34 +00:00
nnhy edb157da69 增加重启之前提示 2016-03-20 02:57:41 +00:00
nnhy 3a57c52ad7 打开W5500和DHCP调试,DHCP初始时不清零IP,为了测试路由器对DNS和DHCP的兼容性 2016-03-19 11:38:29 +00:00
nnhy 8c71f8223a 调试版不显示日志信息 2016-03-15 06:43:04 +00:00
nnhy d1f6245d9b 所有NULL更换为nullptr,GCC要求更严格。
Sys.h头文件不再包含string.h,禁止SmartOS除了Type和String以外的地方使用内存管理函数
2016-03-14 04:28:04 +00:00
nnhy 681594ecd8 修正ByteArray初始化错误的BUG,该BUG倒置W5500驱动设置远程IP地址时Remote.Address.ToArray()出错,本来4字节的缓冲区变成64字节,导致以太网无法收发数据。
网关C测试以太网可用
2016-03-11 14:22:19 +00:00
Stone eba9043046 除了Buffer其它任何地方不得使用memcpy/memset 2016-03-11 04:39:30 +00:00
nnhy ba51c2b068 Buffer增加布尔型运算符重载 2016-03-08 11:17:24 +00:00
nnhy 11ec1084fd ulong => UInt64
_REV/_REV16 独立汇编实现,不依赖固件库
2016-03-07 10:46:10 +00:00
nnhy 21c843e4f0 改名 2016-03-07 06:07:37 +00:00
Stone 243de19352 分离出来内存缓冲区Buffer,编译通过,未测试! 2016-03-06 02:14:53 +00:00
nnhy 8a71c880ac !!!独立String,增强字符串连接等功能。
为了编译通过,注释了一些其它类的功能代码,慎用该版本!
2016-03-05 06:58:12 +00:00
nnhy 37145334a7 改变任务周期的同时,重新计算下一次调度时间NextTime,让它立马生效
否则有可能系统按照上一次计算好的NextTime再调度一次任务
修正DHCP完成以后很快又开始一次的BUG
2016-03-04 01:31:18 +00:00
nnhy 94ab7fc27b 调试版检查内存的申请与释放,正在释放不是本系统申请的内存
网关C测试通过
2016-03-03 04:27:11 +00:00
nnhy 68ab705cfd 重构DNS/DHCP,传入ISocketHost对象引用,内部创建Socket并在结束时销毁,这样子设计能够让外部无需关系Socket的创建和销毁。代价是多了一堆new/delete 2016-03-03 03:42:30 +00:00
nnhy e0a21254ba 重构DNS/DHCP,增加快速DNS查询
重构W5500的HardSocket,传入引用而不是指针
网关C测试通过
2016-03-03 02:38:40 +00:00
nnhy f0b9020e99 统一DHCP停止事件,默认最大10次尝试,超过后重启系统,因为可能硬件故障 2016-03-02 12:49:50 +00:00
Stone d1a0606879 独立一套REV,不依赖固件库 2016-01-13 17:39:37 +00:00
nnhy 61379e79f3 关闭功能已稳定的模块日志,包括W5500/DHCP/DNS 2016-01-04 10:06:54 +00:00
nnhy 20ef9c2873 毫秒 2015-12-08 12:51:00 +00:00
nnhy af4a7bdcdc 首次通过DHCP获取IP地址时,必须清空主机Host的IP,因为DHCP仅接收跟自己同一个子网的IP地址申请。
而后续重新申请的时候,可以不必清空,因为已经是同一个子网。
2015-12-07 11:20:22 +00:00