最近在使用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编程--写飞信客户端的经验总结相关推荐

  1. linux 非阻塞 socket,linux 非阻塞式socket编程求助。。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一下客户端: #include #include #include #include #include #include #include #includ ...

  2. linux C非阻塞延时,linux 非阻塞式socket编程求助。。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一下客户端: #include #include #include #include #include #include #include #includ ...

  3. socket 非阻塞 linux,linux 非阻塞式socket编程求助。。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一下客户端: #include #include #include #include #include #include #include #includ ...

  4. linux非阻塞通话编程,linux 非阻塞式socket编程求助。。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一下客户端: #include #include #include #include #include #include #include #includ ...

  5. java socket nio 阻塞_Java NIO实现非阻塞式socket通信

    博主知识水平有限,只能提供一个个人的狭隘的理解,如果有新人读到这儿,建议看一下其他教程或者API,如果不明白,再来看一下:如果有dalao读到这儿,希望能指出理解中的问题~谢谢 Java提供了用于网络 ...

  6. 阻塞式IO和非阻塞式IO

    什么是阻塞式IO,什么是非阻塞式IO?区分他们有何用? 阻塞式IO:IO即input/output,阻塞式IO指的是"一旦输入/输出工作没有完成,则程序阻塞,直到输入/输出工作完成" ...

  7. 阻塞式和非阻塞式udp传输_NIO非阻塞网络编程三大核心理念

    本次开始NIO网络编程,之前已经说过BIO,对于阻塞IO里面的问题一定有了清晰的认识,在JDK1.4版本后,提供了新的JAVA IO操作非阻塞API,用意替换JAVA IO 和JAVA NetWork ...

  8. 非阻塞模式WinSock编程入门(Socket关联窗口消息机制)

    本文版权归 CSDN trcj 所有,转载请自觉按如下方式于明显位置标明原作者及出处,以示尊重! 作者:trcj 原文:http://blog.csdn.net/trcj1/archive/2010/ ...

  9. Socket 实现非阻塞式多线程文件传输(jpg mov 等各种格式)

    Socket 基础 非阻塞式TCP socket 实现文件传输, 实测 传输5M的jpg , 30M的 NEF(单反原图) 以及 1G以上的mov文件,均正常接收 客户端可多开,服务器多线程实现服务器 ...

最新文章

  1. 保留两位小数除法算式_北师大|五年级上册|第一周周测·小数除法(1)
  2. 天价!一款芯片从设计到流片需要45亿!3纳米芯片研发成本曝光
  3. 数据库设计指南(四)保证数据的完整性
  4. 响应式布局设备分界点
  5. Keycloak简单几步实现对Spring Boot应用的权限控制
  6. 【Excel】日常记录
  7. 限免 | PMCAFF 产品经理第一课,面向3-5年产品经理,全面提升产品能力
  8. C/C++入门易错点及常用小技巧
  9. JavaScript 压缩 加密 解密
  10. java char 计算_经典Java面试题之Java中Char类型的运算
  11. gitblit git SERVER window 安装配置 hook post-receive 自动部署
  12. 计算机共享网络的账号密码怎么设置密码,怎样才能给win10共享设置密码的操作方法...
  13. OpenCASCADE:OCCT WebGL 查看器示例
  14. monit 内存 监控_mac系统监控软件Monity for Mac
  15. 学习纯软件开发(如Java/Python...)还是C语言、嵌入式、物联网呢?
  16. 大国品牌的幕后英雄们
  17. Java项目如何接入钉钉群机器人
  18. 支付宝和微信开发文档
  19. PS4合金装备5服务器维护,《合金装备5:幻痛》ps4联机网络设置方法介绍
  20. 关于uniapp打包生成apk证书的制作

热门文章

  1. java里类得继承详细讲解_java中类的继承详解。
  2. 100款最佳安全工具(世界排行榜)
  3. Keras-深度学习-神经网络-电影评论情感分析模型
  4. range()的使用
  5. 贪吃蛇游戏(C语言实现)
  6. python实现docx文档首行缩进2字符
  7. UG草图导出为AutoCAD绘图线段破损问题的解决办法
  8. LeetCode All in One 题目讲解汇总(持续更新中...)
  9. 春节吃什么?先看大数据
  10. 隐藏scrollbar滚动条