首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

多线程通讯有关问题

2012-02-08 
多线程通讯问题服务端收到客户端得信息后如何给客户端返回信息啊不好意思分不多了,代码如下void __fastcal

多线程通讯问题
服务端收到客户端得信息后如何给客户端返回信息啊
不好意思分不多了,代码如下
void __fastcall TSrvThread::ClientExecute()
{
char temp_buf[1024];
int iRet=0;
while(!Terminated && ClientSocket->Connected)
{

TWinSocketStream *SocketStream = new TWinSocketStream(ClientSocket,60000);

memset(temp_buf,0,sizeof(temp_buf));
iRet = SocketStream->Read(temp_buf,1024);
if(iRet == 0)
{
Terminate();
}
else
{
Form1->Memo1->Lines->Add(temp_buf);
}
delete SocketStream;

}

}

[解决办法]
同线程直接返回用:
Write:从缓冲区中将一定字节的数据写入到流中,返回写入的字节数

不同线程可用事件通知 或 消息 再WRITe
[解决办法]

C/C++ code
TWinSocketStream *SocketStream = new TWinSocketStream(ClientSocket,60000);memset(temp_buf,0,sizeof(temp_buf));iRet = SocketStream->Read(temp_buf,1024);if(iRet == 0){    Terminate(); }else{    Form1->Memo1->Lines->Add(temp_buf);     ClientSocket->SendBuf(temp_buf,1024);//Add} delete SocketStream; } 

热点排行