socket为什么不能循环发送数据?
private int FileSend()
{
int res = 0;
svr = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
svr.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
IPEndPoint seip = new IPEndPoint(IPAddress.Parse(Service.ConnIP), 12000);
svr.Connect(seip);
try
{
for (int i = 0; i < al.Count; i++)
{
if (svr.Connected)
{
string file = al[i].ToString();
string filename = Path.GetFileName(file);
FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] fileread = new byte[0];
br.BaseStream.Seek(0, SeekOrigin.Begin);
fileread = br.ReadBytes((int)br.BaseStream.Length);
svr.Send(Service.FilePackage(12, Service.UserNumber, @"\Code", filename, fileread));
fs.Close();
br.Close();
}
}
//skt.Send(BitConverter.GetBytes(13));
res = 1;
}
catch { res = 0; }
return res;
}
这是一个我用来发送文件的函数。文件路径存在al[]这个数组中,可是我每次调试的时候,socket的send()函数只执行第一次,我在Server端只能收到第一个文件,后面的循环无任何反应。想知道到底是何原因导致的。求解......