当前位置: 代码迷 >> C# >> (provider: TCP Provider, error: 零 - 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。)
  详细解决方案

(provider: TCP Provider, error: 零 - 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。)

热度:678   发布时间:2016-05-05 03:53:53.0
(provider: TCP Provider, error: 0 - 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。)
winform 插入本机数据库没问题,远程插入数据库数据量过大时会出现:
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。
未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。
 (provider: TCP Provider, error: 0 - 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。)
------解决思路----------------------
什么是量过大的时候

如果你无法复现问题,那就无从查起

怀疑你在本机测试的时候只是测试了功能,而没有测试稳定性,也就是插入一次两次成功就算完了,根本没有每隔1秒插入1条,连续运行几小时测试过

检查数据库连接池是不是被占满了,每次连接之后记得close
------解决思路----------------------
//创建监听SOCKET 
  socketListen = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 
//设置SOCKET允许多个SOCKET访问同一个本地IP地址和端口号 
  socketListen.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);


然后记得关闭
socketSent.Shutdown(SocketShutdown.Both);
            socketSent.Close();
------解决思路----------------------
连接测试好多次,代替不了稳定性测试

你每结束运行,连接池都会全部释放掉

而你实际使用的时候,是不存在"测试结束,程序关闭"一说的
  相关解决方案