郁闷的Socket错误????

brbzhang 2007-05-09 08:29:52
以下是我写的一段代码,目的是在server端用SOCKET的SendText()发送一条消息,并在client端的memo中显示.郁闷的是在最后测试(两台局域网机器)时,客户端输入IP后跳出错误提示:"Asynchronous socket error 10049"
不知道这是什么错误??
注:我在cw和scc两个函数写的是同样的操作
Client部分:
void __fastcall TForm1::Button1Click(TObject *Sender)//连接按钮
{
String Server;
if (InputQuery("Computer to connect to", "Address Name:", Server))
{

if (Server.Length() > 0)
{
ClientSocket1->Host = Server;
ClientSocket1->Active = true;
}
}

}
//---------------------------------------------------------------------------

void __fastcall TForm1::cc(TObject *Sender, TCustomWinSocket *Socket)
{
StatusBar1->SimpleText = "Connect to: " + Socket->RemoteHost;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::cr(TObject *Sender, TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->ReceiveText());
}
//---------------------------------------------------------------------------
Server部分;
void __fastcall TForm1::Button2Click(TObject *Sender)//监听按钮
{
if(!ServerSocket1->Active)
{
ServerSocket1->Active=true;
StatusBar1->SimpleText = "Listening...";
Button2->Caption="终止";
}
else
{
ServerSocket1->Active=false;
StatusBar1->SimpleText = "Stop Listen!";
Button2->Caption="监听";
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::sc(TObject *Sender, TCustomWinSocket *Socket)
{
StatusBar1->SimpleText = "Connect to: " + ServerSocket1->Socket->RemoteAddress;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::scc(TObject *Sender, TCustomWinSocket *Socket)//OnClientConnect
{
ServerSocket1->Socket->SendText("Hello,this is hawk.Can you hear me?");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::scd(TObject *Sender, TCustomWinSocket *Socket)
{
StatusBar1->SimpleText="disconnect" + ServerSocket1->Socket->RemoteAddress;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::cee(TObject *Sender, TCustomWinSocket *Socket,
TErrorEvent ErrorEvent, int &ErrorCode)
{
StatusBar1->SimpleText="Error!!";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::cw(TObject *Sender, TCustomWinSocket *Socket)//OnClientWrite
{
ServerSocket1->Socket->SendText("Hello,this is hawk.Can you hear me?");
}
//---------------------------------------------------------------------------
...全文
213 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
i_love_pc 2007-05-11
  • 打赏
  • 举报
回复
参考例子程序
过客猫2022 2007-05-11
  • 打赏
  • 举报
回复
你没有设置你的服务端是阻塞还是非阻塞!

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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