我的代码精简之后如下:
SOCKADDR_IN SockAddr; // 服务器的监听地址
CSocket* pSocket; pSocket = new CSocket();
pSocket->Create(5161);
pSocket->Connect((const SOCKADDR*)&SockAddr, sizeof(SOCKADDR_IN));
...........
...........
pSocket->Close();
delete pSocket; pSocket = new CSocket();
pSocket->Create(5161);
pSocket->Connect((const SOCKADDR*)&SockAddr, sizeof(SOCKADDR_IN));第一个Connect调用成功了,问题在于当delete pSocket之后,第二次连接服务器的监听端口时,Connect函数失败,错误代码为WSAEADDRINUSE,可是我已经delete掉了pSocket呀,怎么会出现“地址复用”错误?百思不解,望赐教!如果要求两次Connect使用同一端口连接服务器,那么应该如何修改以上代码?
SOCKADDR_IN SockAddr; // 服务器的监听地址
CSocket* pSocket; pSocket = new CSocket();
pSocket->Create(5161);
pSocket->Connect((const SOCKADDR*)&SockAddr, sizeof(SOCKADDR_IN));
...........
...........
pSocket->Close();
delete pSocket; pSocket = new CSocket();
pSocket->Create(5161);
pSocket->Connect((const SOCKADDR*)&SockAddr, sizeof(SOCKADDR_IN));第一个Connect调用成功了,问题在于当delete pSocket之后,第二次连接服务器的监听端口时,Connect函数失败,错误代码为WSAEADDRINUSE,可是我已经delete掉了pSocket呀,怎么会出现“地址复用”错误?百思不解,望赐教!如果要求两次Connect使用同一端口连接服务器,那么应该如何修改以上代码?
解决方案 »
- error C2501: 'CompData' : missing storage-class or type specifiers 这是什么错误?
- CTabCtrl控件添加属性页问题
- 头文件出错
- 创建UltraEdit样式的视窗
- 为什么Invalidate()多执行了几次它就罢工了?
- 调用系统其它账户运行DOS命令的问题。
- 如何监测用户是否上网?不用Ontimer函数定时去监测?
- 如何在网页中将图片融入背景中?设置透明色
- 我想建立一个对象数组,数组的大小是运行时确定的,我该怎样声明,以及如何申请内存呢?
- 如何在任务上加图标
- 我已经建好了与一个数据库相连的CRecordset类,已经能显示,但是我想统计一个时间段内的满足另一个字段内容的记录数?怎么做
- 高手请进:VC提示这个错误,请问这是为什么?
Close();
delete pSocket
.
.
.
pSocket = new CSocket();
pSocket->Create(5161);
pSocket->Connect((const SOCKADDR*)&SockAddr, sizeof(SOCKADDR_IN));
CSocket* pSocket; pSocket = new CSocket();
pSocket->Create();
pSocket->Connect((const SOCKADDR*)&SockAddr, sizeof(SOCKADDR_IN));
...........
...........
pSocket->Close();
delete pSocket;Sleep( 1000 ) ; pSocket = new CSocket();
pSocket->Create();
pSocket->Connect((const SOCKADDR*)&SockAddr, sizeof(SOCKADDR_IN));
谢谢yanhuahui(小辉)。
udp的在recvfrom里面可以获得.