ADAM-5510TCP的socket编程 点击:550 | 回复:3



yzl_fr

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 9回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2003年2月27日
发表于:2006-06-02 22:16:00
楼主
我正在使用研华的ADAM-5510/TCP(和ADAM-5510E/TCP)控制器。现在想通过以太网通信,但是在使用socket编程时遇到了问题。将socket设置为阻塞方式时都是正常的,即:使用Connect()连接服务器时,如果连接成功了就返回连接成功的代码,如果连接失败了就返回错误代码。但是,由于该控制器内部其实是Dos操作系统(即单线程、单任务),所以应该将socket设置为非阻塞方式(在ADAM-5510 Series Manual Ed-1.pdf文件的5-203页)。但是,当设置为非阻塞方式时,无论连接成功还是失败,与服务器建立连接的Connect()函数都返回连接成功的代码,(比如,将网线断掉,该函数依然返回连接成功的代码).这样,我就无法判断连接是否成功,就无法决定是否向服务器发送数据。请各位工程师、高手指点。在下多谢了。

我是青岛的。如果能与我联系,提供无偿或有偿的帮助,将不胜感激。   yzl_fr@163.com



microtomato

  • 精华:1帖
  • 求助:0帖
  • 帖子:85帖 | 1476回
  • 年度积分:0
  • 历史总积分:2078
  • 注册:2001年11月02日
发表于:2006-06-03 12:10:00
1楼
非阻塞方式就是这样的,函数调用后直接返回。

yzl_fr

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 9回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2003年2月27日
发表于:2006-06-04 12:33:00
2楼
谢谢 

yzl_fr

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 9回
  • 年度积分:0
  • 历史总积分:23
  • 注册:2003年2月27日
发表于:2006-06-06 08:33:00
3楼
请问,如何判断connect函数是否连接成功?是否可以发送数据,是否有数据需要读取?谢谢?

热门招聘
相关主题

官方公众号

智造工程师