我需要以下场景的示例应用程序1)IOCP TCP服务器能够接受请求2)客户端发出请求并发送接收操作3)SERVER关闭连接4)客户端打开另一个用于连接的套接字并发送接收操作
通过这个例子,我想看看客户端如何打开连接,服务器关闭该连接后,可以与客户端 Build 另一个成功的连接,并再次发送接收操作实际上服务器如何处理丢弃的连接和套接字保持打开不需要?
请帮帮我这可以在我体内吹出一个新的灵魂!!!!
几年前我在The Code Project上写了一系列文章,介绍了一组用于构建基于IOCP的TCP服务器的代码 . 代码在C中,你的问题标记为“.net”,但你似乎不太可能想直接使用IOCP开发.Net服务器,因为你可以使用各种异步套接字方法来做同样的事情而不需要用实际的IOCP方面弄脏你的手 .
无论如何...
第一篇文章从这里链接到:http://www.serverframework.com/products---the-free-framework.html
我已经更新了一点代码,它可以找到here .
没有客户端代码,但您可以使用telnet连接到服务器并发送和recv数据...
http://www.codeproject.com/KB/IP/iocp_server_client.aspx
本文让我对IOCP和TCP / IP客户端服务器处理有了一个公平的理解 . 具有多个客户端处理功能 .
对于您的问题,如果您必须限制空闲线程,那么服务器应该是智能的,以便为每个端口上的客户端和服务器之间的每个连接启动计时器,这可以像装饰器一样 .
要停止从同一客户端获取1000个连接,您应该更多地考虑网络编程 .
2 回答
几年前我在The Code Project上写了一系列文章,介绍了一组用于构建基于IOCP的TCP服务器的代码 . 代码在C中,你的问题标记为“.net”,但你似乎不太可能想直接使用IOCP开发.Net服务器,因为你可以使用各种异步套接字方法来做同样的事情而不需要用实际的IOCP方面弄脏你的手 .
无论如何...
第一篇文章从这里链接到:http://www.serverframework.com/products---the-free-framework.html
我已经更新了一点代码,它可以找到here .
没有客户端代码,但您可以使用telnet连接到服务器并发送和recv数据...
http://www.codeproject.com/KB/IP/iocp_server_client.aspx
本文让我对IOCP和TCP / IP客户端服务器处理有了一个公平的理解 . 具有多个客户端处理功能 .
对于您的问题,如果您必须限制空闲线程,那么服务器应该是智能的,以便为每个端口上的客户端和服务器之间的每个连接启动计时器,这可以像装饰器一样 .
要停止从同一客户端获取1000个连接,您应该更多地考虑网络编程 .