社区
C++ Builder
帖子详情
TServerSocket中ServerType设为线程阻断型后的问题?
netware
2000-08-31 12:49:00
加精
TServerSocket中ServerType设为线程阻断型后,则接受的每一个客户连接的读、写信息都在一个单独的线程中进行,但是我不知道如何让程序调用我写的线程,并且如何在线程中读写TClientSocket发来的数据,(如设为非阻断型可在OnClientRead中读数据)
...全文
138
2
打赏
收藏
TServerSocket中ServerType设为线程阻断型后的问题?
TServerSocket中ServerType设为线程阻断型后,则接受的每一个客户连接的读、写信息都在一个单独的线程中进行,但是我不知道如何让程序调用我写的线程,并且如何在线程中读写TClientSocket发来的数据,(如设为非阻断型可在OnClientRead中读数据)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
keikai
2001-07-28
打赏
举报
回复
呵呵,你把那个参数CreateSuspended设置为true就可以了。
当然也可以用另外的办法,你在你的线程里面另外写一个函数
runThread(){
this->ClientExecute();
}
FengSC
2000-08-31
打赏
举报
回复
建立
class TMyThread : public TServerClientThread
{
private: // User declarations
void __fastcall ClientExecute();
public: // User declarations
__fastcall TCommandThread (bool CreateSuspended,
TServerClientWinSocket* ASocket);
}
//---------------------------------------------------------------------------
__fastcall TCommandThread::TCommandThread (bool CreateSuspended,
TServerClientWinSocket* ASocket)
: TServerClientThread( CreateSuspended, ASocket)
{
}
//---------------------------------------------------------------------------
void __fastcall TMyThread::ClientExecute()
{
TWinSocketStream *pStream;
if (Terminated || !ClientSocket->Connected) return;
pStream = new TWinSocketStream(ClientSocket, 6000);
memset(Buffer, 0x00, sizeof(Buffer));
if (pStream->WaitForData(10000))
{
memset(Buffer, 0x00, sizeof(Buffer));
DataLength=pStream->Read(Buffer, 45);
if (DataLength == 0)
{
ClientSocket->Close();
delete (pStream);
return ;
}
}
else
{
ClientSocket->Close();
delete (pStream);
return ;
}
:
:
:
ClientSocket->Close();
delete (pStream);
return;
}
在TServerSocket的OnGetThread 中创建新的线程.
void __fastcall TformMain::MySocketGetThread(TObject *Sender,
TServerClientWinSocket *ClientSocket,
TServerClientThread *&SocketThread)
{
SocketThread = new TMyThread(false, ClientSocket);
}
Delphi之T
ServerSocket
和TClientSocket多
线程
传输
Delphi之T
ServerSocket
和TClientSocket多
线程
传输文字例子
使用多
线程
的T
ServerSocket
演示
使用多
线程
的T
ServerSocket
演示。T
ServerSocket
in multithread mode
t
serversocket
多
线程
实例
tserversocke 多
线程
通信
Delphi T
ServerSocket
和TClientSocket两个组件的基本用法
笔者在工作
中
遇到对局域网
中
各工作站与服务器之间进行Socket通信的
问题
。现在将本人总结出来的T
ServerSocket
和TClientSocket两个组件的基本用法写出来,希望与您分享。 ClientSocket组件为客户端组件。它是通信的请求方,也就是说,它是主动地与服务器端建立连接。
ServerSocket
组件为服务器端组件。它是通信的响应方,也就是说,它的动作是监听以及被动接受客户端的连接请求,并对请求进行回复。
ServerSocket
组件可以同时接受一个或多个ClientSocket组件的连接请求,并与每个ClientSocket组件建立单独的连接,进行单独的通信。因此,一个服务器端可以为多个客户端服务。 设计思路
Delphi控件安装.rar_TCOMM_T
ServerSocket
_TWSocket Server_delphi TWSOCK
delphi控件安装(安装ODAC、TeeChart、T
ServerSocket
、TWSocketServer、TComm)
C++ Builder
13,822
社区成员
102,680
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章