从这个rpg 套接字教程中,我们在 rpg 中创建了一个调用 java 服务器套接字的套接字客户端
问题是 connect()/send() 操作阻塞,我们有一个要求,如果连接/发送不能在一秒钟内完成,我们必须记录它并完成。
如果我将套接字设置为非阻塞模式(我认为使用 fnctl),我们并不完全了解如何进行,并且找不到任何有用的文档和示例。
我想如果我确实连接到一个非阻塞套接字,我必须执行 select(..., timeout) 这告诉我们连接是否成功和/我们是否能够发送(字节)。但是,如果我们之后 send(bytes),因为它现在是一个非阻塞套接字(在调用后将立即返回),我怎么知道 send() 在关闭之前将字节实际发送到服务器插座 ?
我可以回退到将 AS400 中的客户端套接字作为 Java 或 C 程序,但我真的只想将它保留在一个简单的 RPG 程序中。
有人能帮我理解怎么做吗?谢谢 !