希望大家能帮帮我,跪求,怎样来实现服务器传文件给多台客户端,我用的是Tidtcpservert和tidtcpclient控件 我知道tidtcpserver会自动分配线程,但是不知道怎么来实现,希望各位能帮帮我,在没做完,就被抄鱿鱼了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (本人局域网内做)每个客户端发个请求,服务器端根据这个请求writestream 文件 如果想知道每个对应客户端的线程 :TCPServerConnect里面加:(要一个TList容器)list.add(AThread.Connection.Server.Bindings)然后操作根据indexof Sorry,后面的 Server.Bindings 不要 我看了下例子程序,是可以的,开始声明一个 MyList : TThreadList 根据窗体创建和释放连接的时候:mylist.LockList.Add(Pointer(AThread)); //注意:后面每个有locklist的都要对应unlocklistmylist.UnlockList;断开的时候: mylist.LockList.Remove(Pointer(AThread)); mylist.UnlockList;对多个一起发文件我没试过,提个大概TIdPeerThread(mylist.LockList.Items[i]).Connection.WriteStream();发文件流由于我每一个连接后在listbox中加入连接的用户名,所以要通过循环在listbox中找接收的用户名,对应第几个 Items[i]中的变量值,这样就实现了循环一个个发 就像在断开连接的时候删除listbox中用户名一样 i := MyList.LockList.IndexOf(Pointer(AThread)); MyList.UnlockList; MyList.LockList.Remove(Pointer(AThread)); MyList.UnlockList; lbxUser.Items.Delete(i); 其实多线程用FTP更好作,我就是用FTP做的,比TCP的方便多了,呵呵,TCP的我自己也折腾到现在没完全折腾好,呵呵,不过可能是因为比光传文件复杂一些 如何释放动态生成的控件 怎么得到上传的速度,已用时间,剩余时间? 排序后颜色显示问题 在连接数据库时候,出现奇怪的问题! 三层结构的 应用程序服务器如何把midas.dll包含进exe文件中 DBGrid怎么没有CellDoubleClick事件? 菜鸟问题7---请介绍一下listview控件的基本属性和使用方法 Delphi 目前主要的应用方向是什么? 虫虫关于数据库的问题? 我刚作好的98系统,安装 delphi后,安装access了,我用delphi时候,准备给窗体添加一个Ado控件,怎么会有这中提示: 关于存取图片的问题 如何删除图中的文字?
TCPServerConnect里面加:(要一个TList容器)
list.add(AThread.Connection.Server.Bindings)
然后操作根据indexof
连接的时候:
mylist.LockList.Add(Pointer(AThread)); //注意:后面每个有locklist的都要对应unlocklist
mylist.UnlockList;
断开的时候:
mylist.LockList.Remove(Pointer(AThread));
mylist.UnlockList;
对多个一起发文件我没试过,提个大概
TIdPeerThread(mylist.LockList.Items[i]).Connection.WriteStream();发文件流
由于我每一个连接后在listbox中加入连接的用户名,所以要通过循环在listbox中找接收的用户名,对应第几个 Items[i]中的变量值,这样就实现了循环一个个发
i := MyList.LockList.IndexOf(Pointer(AThread));
MyList.UnlockList;
MyList.LockList.Remove(Pointer(AThread));
MyList.UnlockList; lbxUser.Items.Delete(i);