读书人

socket发送数据时报错“您的主机中的

发布时间: 2012-04-23 13:17:38 作者: rapoo

socket发送数据时,报错“您的主机中的软件放弃了一个已建立的连接”
我的代码:

C# code
Byte[] by=new Byte[4194304];//4Mint port = 7200;string host = "192.168.26.167";IPAddress ip = IPAddress.Parse(host);IPEndPoint ipe = new IPEndPoint(ip, port);Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);s.Connect(ipe);s.Send(by, by.Length, 0);//成功发送s.Send(by, by.Length, 0);//不成功发送,会报错“您的主机中的软件放弃了一个已建立的连接”

请问各位高手,我向服务器每次都是发送4M大小的数据包,只能成功第一次,然后就报错,如上,为什么?
先谢谢了!!

[解决办法]
你看看服务器的socket是不是在接受好数据后,就关闭了传送数据的那个连接,这样你第二次就要重新连接过去后,再传送数据:
C# code
s.Connect(ipe);s.Send(by, by.Length, 0);//成功发送s.Connect(ipe);s.Send(by, by.Length, 0);//不成功发送,会报错“您的主机中的软件放弃了一个已建立的连接”
[解决办法]
探讨
你看看服务器的socket是不是在接受好数据后,就关闭了传送数据的那个连接,这样你第二次就要重新连接过去后,再传送数据:

C# code

s.Connect(ipe);
s.Send(by, by.Length, 0);//成功发送

s.Connect(ipe);
s.Send(by, by.Length, 0);//不成功发送,会报错“您的主机中的软件放弃了一个已建立的连接……

[解决办法]
你服务端代码没贴出来,是由于你服务端关闭了连接.
[解决办法]
是服务器端的问题,同意楼上
你的程序没问题
你发送4m的数据,电脑受的了吗

读书人网 >C#

热点推荐