最近用delphi做一个tcp的通讯程序,第一次弄tcp,是一个服务器要和多个客户端(1000个以内)连接通信,我看了delphi7下的哪个netchat的例程,里面用到的是delphi自带的tcpsever和tcpclient组件,但只是实现了一对一的通信,那如何实现一对多的通信呢?网上说是要在tcpsever端用多线程处理,但不知如何创建多个接收处理线程,会的大侠能否指点一下,有代码最好,谢谢。
解决方案 »
- StringGrid中可以把特定的单元格合并吗?
- 关于DLL返回Pchar数据(返回给调用的vb程序)的问题
- QQ即时通开发讨论(UDP协议)~~~!
- 急急!!!QReport 问题,请求各位大侠 200分求解(不够再加 。在线上等。。。)
- IdUDPClient如何知道发送的端口号?
- 如何把数据库导出为电子表格文件?
- 夸克兄请进来2
- 请大侠看看这个怎么实现比较好!读取文件的一部分。。。
- 雙擊Listview的某列,如何判斷Mouse雙擊在listview的哪一列?
- 我用ole链接word文件,为何只显示文件的第一页,其它页不显示,怎样解决,若在OLE中无法解决,还有何方法可以读取word文件?
- 如何获取Delphi中鼠标点击次数
- 这个怎么做:鼠标自动移动到IE浏览器的网址输入框,然后左键单击一下
http://download.csdn.net/detail/geoff08zhang/4571358
或者自己处理可以使用消息模式的或者事件模式的。windows下iocp是性能最好的。
你先创建一个先进先出的环形缓冲区,然后为每个客户端创建一个缓冲区,来了数据后保存到对应的缓冲区,然后在搞一个独立的线程来处理缓冲区中的数据.