如题
解决方案 »
- 完成端口投递写操作问题
- 如何有针对性地改变某一控件的颜色
- CChildFrame类中的OnDraw方法
- 如何用函数给Access数据库添加字段
- 能否直接取出本程序或者动态库的版本信息?
- ioctlsocket这个函数在Select模型中是必须的吗?我用的是Select模型,UDP,2个socket 测试。多谢!!
- 怎么样将别的工程的ToolBar替代自己工程的ToolBar?
- 难!如何把一个二进制文件当作资源文件来处理。
- 对话框应用程序中怎样使用数据库程序?
- 关于COMMTIMEOUTS的理解问题,小问题,我的分不多,高手们笑纳
- 几个问题,给点提示,谢谢~~~~!!
- 如何编程实现阻止某个IP访问server?
记得有个函数可以判断的
查查winsock编程的资料
Socket类的Connected属性往往不能精确的判断出网络是否连接,下面这段代码可以解决这个问题/// <summary>
/// 是否已经连接
/// </summary>
public virtual bool Connected
{
get
{
try
{
//检查socket的状态是否可读
if(m_socket.Connected && m_socket.Poll(0, SelectMode.SelectRead))
{
byte[] aByte = new byte[1];
//因为TCP/IP协议无法精确的判断网络是否可用
//试读一个字符,Peek参数指定读取的字符不会从缓冲区中移除
//假如可读则表示连接可用
if(m_socket.Receive(aByte, 0, 1, SocketFlags.Peek) != 0)
return true;
Close("Disconnected.");
return false;
}
}
catch(SocketException e)
{
OnException(e);
}
return m_socket.Connected;
}
}
不知道有没有系统调用来得到这个状态?