The problem of getting ior by https

本文探讨了通过HTTP和HTTPS两种方式获取IBM Domino中的IOR(Internet Object Reference)。详细记录了一次有趣的尝试过程,即在SSL状态被禁用的情况下,如何成功地通过HTTP获取IOR,并分析了可能的原因。

The ior content is a identification string for CORBA communication.It's consisted by sequence of hexadecimal digits. For IBM domino, the ior is necessary to a remote connection through DIIOP. We may get the ior content by http firstly then the application can interact with domino through diiop.

Generally, Notes api provide two kind of ways to get the ior content.One by http and another one by https. I find some interesting when I tried the two ways.

 

First, I get the ior by http directly and successfully, the code as below:

< String IorCot=null;
IorCot=NotesFactory.getIOR(serverName,userName,pwd);
... >


Then i want to get the content by https. I set the ssl status on http to 'disable' in notes administrator for comparation. The code as below:

< String IorCot=null;
String arg[] =new String[1];
arg[0] = "-HTTPEnableSSLSecurity";
IorCot=NotesFactory.getIOR(serverName, arg, userName, pwd);
..... >

It's failure just like i supposed because of the status of https is 'disable'.

 

Something interesting and confused happened when i merged the two fragment code together. I can get the ior content successfully by the way of https even if the ssl status is 'disable' in administrator.So I set a breakpoint between the two fragment code to debug and try to find the reason for this. I have the following steps to control the process:

1), Getting the ior successfully by http

2), Then 'tell http exit' in domino console

3), Continue to debug the code

4), The ior content can be got by https oddly even the http server has shut down.

 

I google it and test it again and again but without exact answer. I think maybe some local object of notes cache the status of connection or something others about this so i can get the ior after the http server is exit. I guess it's a issue on Notes api end.

### IOR芯片的品牌信息 IOR(Input/Output Read)信号通常与I/O设备的读操作相关联,尤其是在嵌入式系统或计算机体系结构中。然而,IOR本身并不是一个具体的芯片名称,而是一个信号引脚的功能定义。因此,关于“IOR芯片”的品牌列表,实际上需要从支持IOR信号的芯片厂商入手进行分析。 以下是一些可能涉及IOR信号的常见芯片品牌和类型: 1. **National Semiconductor** National Semiconductor(现为Texas Instruments的一部分)曾开发多种支持I/O操作的芯片,例如经典的8255可编程并行接口芯片[^4]。这些芯片广泛应用于早期的微处理器系统中,支持IOR和IOW信号的操作。 2. **Intel** Intel在早期的x86架构中设计了许多外围芯片,例如8089 I/O处理器和支持DMA、中断控制等功能的8257 DMA控制器[^5]。这些芯片通过IOR信号实现与主机之间的数据交互。 3. **AMD** AMD也提供了类似的I/O扩展芯片,尤其是在其嵌入式解决方案中。例如,AMD的Geode系列处理器集成了丰富的I/O功能,支持标准的IOR/IOW信号协议[^6]。 4. **NXP Semiconductors** NXP(原Philips Semiconductor)提供了一系列基于ARM架构的微控制器和嵌入式处理器,如LPC系列。这些芯片通常支持标准的I/O操作,并兼容IOR信号规范[^7]。 5. **Microchip Technology** Microchip的PIC系列微控制器和dsPIC数字信号控制器广泛应用于工业自动化和嵌入式系统中。这些产品支持传统的I/O操作模式,包括IOR信号的使用[^8]。 6. **STMicroelectronics** STMicroelectronics的STM32系列微控制器是目前市场上最受欢迎的32位ARM Cortex-M内核微控制器之一。尽管现代微控制器更多依赖于总线协议(如SPI、I2C),但某些型号仍然保留了对传统IOR/IOW信号的支持[^9]。 7. **Rockchip** Rockchip作为中国领先的SoC供应商,其产品线涵盖了从低端到高端的嵌入式处理器。虽然引用中提到的是罗盘传感器驱动程序[^1],但Rockchip的RK系列处理器也可能支持传统I/O信号的操作。 ### 示例代码:模拟IOR信号的硬件驱动 以下是一个简单的伪代码示例,展示如何通过软件模拟IOR信号以读取设备寄存器的数据: ```c #include <stdio.h> #include <stdint.h> #define IOR_PIN (1 << 0) // 假设IOR信号映射到GPIO的第0位 #define DATA_PORT (*(volatile uint16_t *)0x1000) // 数据端口地址 #define ADDR_PORT (*(volatile uint8_t *)0x2000) // 地址端口地址 uint16_t read_io_register(uint8_t addr) { ADDR_PORT = addr; // 设置地址 *(volatile uint8_t *)0x3000 = IOR_PIN; // 激活IOR信号 return DATA_PORT; // 读取数据 } int main() { uint8_t register_address = 0x10; // 示例寄存器地址 uint16_t data = read_io_register(register_address); printf("Data from register 0x%02X: 0x%04X\n", register_address, data); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值