请教关于Socket编程的一些问题
我在主窗体中用ShowModal调用了一个子窗体, 然后子窗体里添加了一个ClientSocket和一个ServerSocket控件
在子窗体运行完程序返回到主窗体时报错了, 说是Asynchronous socket error 10061
请问这是怎么回事? 我对socket编程所知甚少....操作大概就是点击以后向服务器端发送数据,然后根据返回值执行相应的操作, 之前还显示过别的错误, 意思是说套接字只能使用1次什么的...
子窗体的操作代码如下:
if(Edit1->Text==""||Edit2->Text=="")ShowMessage("请输入登陆帐号或密码");
else
{
ClientSocket1->Active=true;
ClientSocket1->Socket->SendText(Edit1->Text);
ClientSocket1->Active=false;
ClientSocket1->Close();
ServerSocket1->Active=true;
if(ServerSocket1->Socket->ReceiveLength()==3)
{
ShowMessage(ServerSocket1->Socket->ReceiveText());
ServerSocket1->Active=false;
ServerSocket1->Close();
ClientSocket1->Close();
login->Close();
face->Show();
}
else
{
ShowMessage("用户名或密码错误");
ServerSocket1->Active=false;
ServerSocket1->Close();
ClientSocket1->Close();
}
}
[解决办法]
error 10061目标主机主动拒绝,连接不能建立。
这通常是因为试图连接到一个远程主机上不活动的服务,如没有服务器应用程序处于执行状态。
是不是服务端没有启动!
[解决办法]
呵呵
你必须编写2个程序 一个程序是SERVER端,用来监听用。另一个程序是CLIENT端,用来连接SERVER端。
从你的错误描述来看,有可能没有运行SERVER端。
或者,CLIENT端上 连接的IP地址和端口不对。
[解决办法]
子窗体运行完程序返回到主窗体时Server被释放掉了。
[解决办法]
ClientSocket和一个ServerSocket控件
这两个控件应该放在主窗口上
[解决办法]
可以在同一台上操作吗?
没试过,按照你的报错提示,应该不行。
你找另外一台电脑试下就可以啦
[解决办法]