ruby非阻塞式socket编程--写飞信客户端的经验总结
最近在使用ruby编写飞信客户端时,遇到TCPSocket的阻塞问题,socket总是直接挂死或者超时失败。经过一番探索,下面的方法颇有奇效,终于可以成功发短信啦:
require "socket"
class SIPC def initialize(sipc_addr) puts sipc_addr #uri = "221.176.31.33:8080" uri = sipc_addr.split(":") @socket = TCPSocket.new(uri[0], uri[1].to_i) end
# send SIP-C request def request(sip_request) puts sip_request @socket.write_nonblock(sip_request) #@socket.write(sip_request) also works
#select,read_nonblock and rescue is the key IO.select [@socket] res = "" begin while chunk = @socket.read_nonblock(4096) res = res + chunk end rescue end puts res return res endend
ruby非阻塞式socket编程--写飞信客户端的经验总结相关推荐
- linux 非阻塞 socket,linux 非阻塞式socket编程求助。。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一下客户端: #include #include #include #include #include #include #include #includ ...
- linux C非阻塞延时,linux 非阻塞式socket编程求助。。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一下客户端: #include #include #include #include #include #include #include #includ ...
- socket 非阻塞 linux,linux 非阻塞式socket编程求助。。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一下客户端: #include #include #include #include #include #include #include #includ ...
- linux非阻塞通话编程,linux 非阻塞式socket编程求助。。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一下客户端: #include #include #include #include #include #include #include #includ ...
- java socket nio 阻塞_Java NIO实现非阻塞式socket通信
博主知识水平有限,只能提供一个个人的狭隘的理解,如果有新人读到这儿,建议看一下其他教程或者API,如果不明白,再来看一下:如果有dalao读到这儿,希望能指出理解中的问题~谢谢 Java提供了用于网络 ...
- 阻塞式IO和非阻塞式IO
什么是阻塞式IO,什么是非阻塞式IO?区分他们有何用? 阻塞式IO:IO即input/output,阻塞式IO指的是"一旦输入/输出工作没有完成,则程序阻塞,直到输入/输出工作完成" ...
- 阻塞式和非阻塞式udp传输_NIO非阻塞网络编程三大核心理念
本次开始NIO网络编程,之前已经说过BIO,对于阻塞IO里面的问题一定有了清晰的认识,在JDK1.4版本后,提供了新的JAVA IO操作非阻塞API,用意替换JAVA IO 和JAVA NetWork ...
- 非阻塞模式WinSock编程入门(Socket关联窗口消息机制)
本文版权归 CSDN trcj 所有,转载请自觉按如下方式于明显位置标明原作者及出处,以示尊重! 作者:trcj 原文:http://blog.csdn.net/trcj1/archive/2010/ ...
- Socket 实现非阻塞式多线程文件传输(jpg mov 等各种格式)
Socket 基础 非阻塞式TCP socket 实现文件传输, 实测 传输5M的jpg , 30M的 NEF(单反原图) 以及 1G以上的mov文件,均正常接收 客户端可多开,服务器多线程实现服务器 ...
最新文章
- 保留两位小数除法算式_北师大|五年级上册|第一周周测·小数除法(1)
- 天价!一款芯片从设计到流片需要45亿!3纳米芯片研发成本曝光
- 数据库设计指南(四)保证数据的完整性
- 响应式布局设备分界点
- Keycloak简单几步实现对Spring Boot应用的权限控制
- 【Excel】日常记录
- 限免 | PMCAFF 产品经理第一课,面向3-5年产品经理,全面提升产品能力
- C/C++入门易错点及常用小技巧
- JavaScript 压缩 加密 解密
- java char 计算_经典Java面试题之Java中Char类型的运算
- gitblit git SERVER window 安装配置 hook post-receive 自动部署
- 计算机共享网络的账号密码怎么设置密码,怎样才能给win10共享设置密码的操作方法...
- OpenCASCADE:OCCT WebGL 查看器示例
- monit 内存 监控_mac系统监控软件Monity for Mac
- 学习纯软件开发(如Java/Python...)还是C语言、嵌入式、物联网呢?
- 大国品牌的幕后英雄们
- Java项目如何接入钉钉群机器人
- 支付宝和微信开发文档
- PS4合金装备5服务器维护,《合金装备5:幻痛》ps4联机网络设置方法介绍
- 关于uniapp打包生成apk证书的制作