怎样用serversocket和clientsocket实现文件的点对点传输?急!!!(100分)

  • 主题发起人 主题发起人 j_hao
  • 开始时间 开始时间
J

j_hao

Unregistered / Unconfirmed
GUEST, unregistred user!
实现文件点对点传输前已将文件进行了编码,现在的问题
是用什么方法(method)将文件送出去,clientsocket和
serversocket相应有哪些事件发生?怎样发生?请大家不吝
赐教,谢谢!
 
收发文件还是请用FTP,如要例子请说一声
 
不用ftp,不用任何服务器,只用delphi编程实现,也不用windows的
超级终端配合。直接实现。
 
可以使用Socket.SendStream、SendBuf、SendText等方法进行传送。
你可以在clientSocket、ServerSocket的OnRead、OnWrite事件中做相应传送、
接受处理。
(不知道你具体使用什么样的编码方式,没有写出详细的方法。你可以自己试一
试。)
 
编码方式为MIME或UUE,如果用SEDNSTREAM、SENDBUF,怎样表达?
我想表达为xxxx.sendstream(或sendbuf)(filename),不知
可否?sendtext只能用于发送文本或字符串,不能满足我的传送文
件的要求,还望大虾们多费费脑筋,定有重谢!
 
这边SendStream,那边Onread(或者OnClientRead,如果是TServerSocket)中
ReceiveBuffer,然后写入到Stream中。
BTW:用不着编码,白白浪费带宽
 
先建立一个TMemoStream,然后调用TMemoStream.LoadFromFile(FileName),
在发送端将你要传的文件读入内存,然后用Socket.SendStream(YourStreamV),
接收端用Socket.ReceiveBuf读出即可。
如果你要发送的文件格式是二进制的,只能用流方式发送,如果是文本文件,则
可以简单地用Socket.SendText和Socket.ReceiveText来发送和接收。
 
TMEMOSTREAM是delphi本身就有的控件还是自己做出来的?
最好有几个示例程序,在下不胜感激!
 
TMemoStream = TMemoryStream(我猜想吕雪松指的就是它)
TMemoryStream是Delphi中的类。
同意吕雪松的说法。可参看Demos/Chat例子了解TClientSocket、TServerSocket的
用法,然后改用流方式SendStream进行传送。
 
把要传的文件转换成文件流
还可用TNMSTRM来传
 
D4中有个传文件的控件
 
多人接受答案了。
 
后退
顶部