在ASP.NET Core 6.0 Web Api 应用中使用Socket类发送数据,其生命周期是全局单例还是瞬时?

在对接某个老系统时不得不使用Socket方式传输数据并保存,目前实现是
using var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
await socket.ConnectAsync(new IPEndPoint(IPAddress.Parse(socketAddress), port));
socket.Send(byteData);
socket.Shutdown(SocketShutdown.Both);
每次请求都会走上面代码逻辑,但存在一个问题是频繁建立TCP连接和释放,如果做成单例,是否有其他问题?

回答

建议使用 socket 池,可以参考:

  • SocketsHttpHandler
  • PooledSocket
以上是在ASP.NET Core 6.0 Web Api 应用中使用Socket类发送数据,其生命周期是全局单例还是瞬时?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>