首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在同步阻塞模式下重用TcpClients?

如何在同步阻塞模式下重用TcpClients?
EN

Stack Overflow用户
提问于 2012-01-18 04:36:10
回答 1查看 253关注 0票数 1

我有一个tcpclient,它连接到一个后端系统,发送xml查询并接收xml响应。

后端需要客户端登录并设置一些环境设置,然后才能进行任何查询。这是一个开销很大的操作,因此创建tcpclient并使其保持打开状态以供重复查询是有意义的。

据我所知,后端是为处理许多连接而优化的,出于性能原因,我希望有大量的tcpclient连接。

查询是以包含数千个项目的列表的形式进行的。

我的问题是,如何最好地创建一组可重用的连接tcpclient,以便我可以执行列表中的多个并发请求(例如,一次执行10个请求),什么模式适合此场景,是否有任何示例可供我学习最佳实践?

目前,它只使用一个封装了连接和登录过程的服务来逐个执行它们。

代码语言:javascript
复制
QueryService service = new QueryService(server, port, user, pass, params, app);

foreach(var item in queries)
{
    service.ExecuteRequest(item);
}

service.Disconnect();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-18 12:06:13

您需要的是一个或模式。基本上,您可以创建一个Service对象池,然后当客户端应用程序的任何元素(函数或对象)需要访问服务时-它可以根据某些条件引用服务对象。

为了成功,你必须有一个请求应该是无状态的,这样当选择一个任意的服务对象来向某个服务器发出请求时,历史记录应该不会产生问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8901398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档