C#Socket编程中的阻塞读问题

jackylee 2003-01-06 04:28:06
在C++中Socket的阻塞读采用
select(0,&ReadSet,(FD_SET *)0,&ErrorSet,&timelimit);
但是C#中Socket的阻塞读采用了
Socket.Select(socketList,null,ErrorSet,TimeLimit);
以后,第一次使用没问题,但是第二次使用就报

未处理的“System.ArgumentException”类型的异常出现在 system.dll 中

其他信息:socketList

错误,百思不得其解?
有劳各位帮我看看
...全文
143 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheAres 2003-01-07
  • 打赏
  • 举报
回复
老大,就差一点信息了,既然出错,何不把异常信息贴上来或者是你自己看看.

try
{}
catch(Exception ex)
{
ex.Message就是,越多越好.
}

jackylee 2003-01-07
  • 打赏
  • 举报
回复
我用了
try
{
......
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
结果是“socketList”,和我前面提到的

未处理的“System.ArgumentException”类型的异常出现在 system.dll 中

其他信息:socketList

类似,是不是因为socketList对象被释放掉了?
jackylee 2003-01-07
  • 打赏
  • 举报
回复
我已经找到解决办法了
jackylee 2003-01-06
  • 打赏
  • 举报
回复
class CUdpPort
{
private int lenOfRecData;
private Socket connSocket;
private IPEndPoint remote;

public CUdpPort(int port, string addr)
{
this.remote = new IPEndPoint(IPAddress.Parse(addr), port);
this.connSocket = new Socket(remote.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
}
public byte[] getData(int delay)
{
..............
Socket[] socketList = new Socket[1];
socketList[0] = this.connSocket;
Socket.Select(socketList,null,ErrorSet,TimeLimit);
.............
}
}

Socket.Select(socketList,null,ErrorSet,TimeLimit)第一次使用没错,但是第二次就报告错误了,请指点!
jackylee 2003-01-06
  • 打赏
  • 举报
回复
class CUdpPort
{
private int lenOfRecData;
private Socket connSocket;
private IPEndPoint remote;

public CUdpPort(int port, string addr)
{
this.remote = new IPEndPoint(IPAddress.Parse(addr), port);
this.connSocket = new Socket(remote.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
}
public byte[] getData(int delay)
{
..............
Socket[] socketList = new Socket[1];
socketList[0] = this.connSocket;
Socket.Select(socketList,null,ErrorSet,TimeLimit);
.............
}
}

Socket.Select(socketList,null,ErrorSet,TimeLimit)第一次使用没错,但是第二次就报告错误了,请指点!
TheAres 2003-01-06
  • 打赏
  • 举报
回复
Could you please provide more info about "socketList"?

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧