2017-07-07 40 views
0

我有一个在Windows(win 7/win 2008服务器)中运行的客户端进程。其任务是为其打开的一个套接字启用Keepalive以与服务器连接。 为了使这个连接我使用Windows API(连接到MSSQL服务器),从中无法检索它创建的套接字fd。如何在窗口中找到由进程打开的套接字fds

1)什么是检索所有由一个窗口进程打开套接字FDS(非蟒方法中,作为二元是基于C++)

2)的方法是没有什么办法来检索来自套接字fd手柄由Windows API的SQLAllocHandle或返回的SQLDriverConnect

感谢

回答

0

你不能(据我所知),不应该(不支持)试图修改该客户端上。 SQL Server有控制该服务器端的配置设置:

保持活跃

此参数(毫秒)控制TCP每隔多长时间来验证空闲连接仍然完好无损通过发送keepalive报文。默认值是30000毫秒。

https://technet.microsoft.com/en-us/library/ms190771(v=sql.105).aspx

+0

谢谢。我知道服务器端的这个参数,但有兴趣在客户端启用。 “不支持”是什么意思?那是否,在连接建立之后,在Windows上不支持套接字Keepalive? – JOE

+0

即使找到句柄,也不支持直接修改SQL Server ODBC驱动程序使用的套接字。 –