delphi – 构建多线程TCP / IP服务器
我想构建一个TCP / IP服务器,最多可以使用100个并发客户端,但仍然不知道如何开始.
至少我需要服务器到这个: >听客户端,并将其存储在数组或列表中. 任何人都可以帮助我开始,我看着indy的样本,但他们没有帮助,也寻找大部分组件,但仍在搜索. 解决方法
您需要使用内部多线程的TidTCPServer.不需要你来管理线程.一切都是透明的,所以在你为一个客户端编写应用程序的方式中,(几乎)你将会为许多人写这个应用程序.请参阅OnConnect事件.有一个TidContext参数,里面有一个TThreadList.您可以使用该事件将您的客户端注册/添加到您的自定义阵列/列表,并使用OnDisconnect删除客户端.
OnExecute事件在服务器收到消息时被触发.使用其参数来读取发送的消息. 此外,您需要使用TidTCPClient的另一个应用程序,这将是您的客户端.在此应用程序中,您将设置服务器的地址(请参阅主机属性)以及应与服务器端口匹配的端口.您应该调用Connect(服务器运行时)并发送具有SendCmd方法的字符串. (另请参阅IOHandler.WriteLn,如果你想) 还有其他的事情,但我认为这足以让你开始.此外,您可以在Embarcadero的论坛中发布.Delphi.Winsock论坛,Indy团队成员正在浮动.或者你可以直接问.Delphi.Non-Technical,那些家伙会指导你. 另一种方法是DataSnap,它是一个比Indy更为面向对象的层(不要与DBX混淆),它提供了JSON,REST和其他的好东西.看到一个小的评论here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |