一个socket程序,求修改

kyogodwu 2003-09-12 02:46:07
void __fastcall TfrmMain::cstSendError(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
ErrorCode=0;
}
//---------------------------------------------------------------------------

void __fastcall TfrmMain::Label1DblClick(TObject *Sender)
{
//双击label,引发发送过程

// 从config.txt读取地址信息
TStringList *Str = new TStringList;

Str->LoadFromFile("Config.txt");

for(int i=16;i<Str->Count;i++)
{
AnsiString ip=Str->Strings[i];
Server=ip.SubString(5,15);

for(int j=0;j<3;j++)
{

cstSend->Active=false;
cstSend->Address=Server;
cstSend->Active=true;
}
}

ShowMessage("发送成功");
WriteLog(2);

cstSend->Active=false;
cstSend->Close();

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

该程序,我在xp下编译并运行没有任何的问题
如果将其移到windows 98下运行,就出现问题了
前两次的double click一切正常,最高峰,我连了7个serversocket都没有问题
到第三次double click的时候,它就会跳出api connect出错
再次double click就会提示socket is active 无法修改adderss

请问编译的环境重要吗?如果是在98下运行的程序,最好是在98下编译吗?
再请问一个问题
我的程序过程是,客户端connect ,服务端accept
我想在服务器accept后,立即就断开连接,应该是在服务端写断开的过程,还是在客户端呢?
我使用的非阻塞模式,我对线程不熟悉,没有用阻塞模式来写
...全文
31 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
supwjhuLoveCjj 2003-09-13
  • 打赏
  • 举报
回复
有问题......
--------------------
不管哪个先断开,要让双方都知道断开了。
pp616 2003-09-12
  • 打赏
  • 举报
回复
你的代码从设计思路上就错了。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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