【发布时间】:2011-12-12 05:57:10
【问题描述】:
我有一个从一个(并且只有一个)客户端获取数据的 TCP 服务器。当此客户端发送数据时,它会与我的服务器建立连接,发送一条(逻辑)消息,然后不再在该连接上发送任何消息。
然后它将建立另一个连接以发送下一条消息。
我有一位同事说,从资源的角度来看,这非常糟糕。他说建立连接是资源密集型的,需要一段时间。他说我需要让这个客户端建立连接,然后只要我们需要通信(或直到出现错误)就继续使用它。
使用单独连接的一个好处是我可以多线程处理它们并在线获得更多吞吐量。我向我的同事提到了这一点,他告诉我打开很多套接字会杀死服务器。
这是真的吗?或者我可以只允许它为需要发送的每个逻辑消息建立单独的连接。 (请注意,逻辑消息是指可变长度的 xml 文件。)
【问题讨论】:
-
您当前的实施是否遇到任何问题?不要创建比必要更困难的解决方案。