CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

请教两个完成端口的问题,自己实在不能解决,高分求高手相助,问题解决立即散分

楼主Cadillac(努力学好C++发奋学好English)2005-06-03 18:13:30 在 VC/MFC / 网络编程 提问

请教两个问题  
  1,如何能够快速检测一个局域网内的另一个IP是否与本地IP相连  
  有什么快速检测的方法吗?  
   
  2,使用完成端口,对一客户端开辟了一个线程来管理和它相关的socket,然后让它在完成端口上等待  
   
  当在这个socket上有recv或send操作时,就会从GetQueuedCompletionStatus()返回一定的结果,  
   
  现在我的目的是建立了一个线程来管理一个客户端,想使用客户端发送一个包含目的地址的字符串比如(192.0.0.1"数据。。。。"),然后通过这个线程的字符串处理函数,将其再转发给192.0.0.1,当192.0.0.1不是本机时,使用socket的api函数Connect()与192.0.0.1连接,然后在发送数据,  
   
  这样是可行的,但是在这个程序和192.0.0.1connect的时候,当不能连接192.0.0.1时,connect会阻塞一端时间,而在这一端时间中,这个客户端又发送了其他的消息,这样GetQueuedCompletionStatus()并不能立即返回,甚至,在connect的时间中,客户端会多次发送信息,就会产生较大的延迟,和数据丢失,  
  请问这样的情况该怎么解决  
   
  谢谢  
  问题点数:100、回复次数:5Top

1 楼Cadillac(努力学好C++发奋学好English)回复于 2005-06-04 12:43:26 得分 0

没有人会吗??  
  给个思路吧  
  Top

2 楼combusMartin()回复于 2005-06-04 13:51:07 得分 50

1.   通常用的ping程序就可以完成  
   
  2.   客户端发送的数据用一个动态的列表存放,对其进行有效的管理就可以了;  
  和另一个ip在建立连接后开始发送数据。Top

3 楼Cadillac(努力学好C++发奋学好English)回复于 2005-06-04 14:10:57 得分 0

现在我的问题是客户端的操作是不能控制的  
  也就是说我要解决这个问题只能修改服务器端的程序  
  这该怎么办  
  Top

4 楼Cadillac(努力学好C++发奋学好English)回复于 2005-06-05 14:31:58 得分 0

没有人会答吗?  
   
  高手帮忙啊  
  Top

5 楼ZHENG017()回复于 2005-06-06 09:09:39 得分 50

1.调用sendarp,或ping.或telnet   那个机器的135端口,etc  
  2.和192.168.0.1保持长连接,不要在客户发数据再connect.Top

相关问题

  • 完成端口,WSASend
  • 完成端口如何区分send和recv呢?
  • 最后一次讨论完成端口,散分100^_^
  • 100分求助~ 完成端口与多线程问题,急!!
  • 关于完成端口
  • 关于完成端口
  • 对“完成端口”真明白的大仙请进,UP也给分
  • 100分求Winsock完成端口服务程序的例子代码
  • 请教完成端口编程,分不够可以另加。在线等待
  • 500分求QQ相助

关键词

  • 端口
  • 解决
  • 客户
  • 数据
  • 线程
  • 连接
  • ip
  • 客户端
  • 问题
  • 完成

得分解答快速导航

  • 帖主:Cadillac
  • combusMartin
  • ZHENG017

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo