当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 在sql怎样复制一个表结构和其所有值,在企业管理器好像只有复制,没有粘贴,用transact不知怎样写 ......
    摘要: listbox为什么不显示水平滚动条,当记录宽度超过控件宽度时。 ......


怎样在两个IP之间传送超过1024字节的文件 或者怎样用socket实现

我用以下两个实现了传送和接收,但所传送的文件都不能超过1024字节,请问怎样改才可以传送大于1024字节?   效果就象在internet下载任意大的文件?  
   
  或者可以用socket实现吗?   具体例子有吗?   先谢谢了.  
   
  这是发送的:  
   
  TcpClient   tcpc   =   new   TcpClient(textBox1.Text,   5656);  
  NetworkStream   tcpStream   =   tcpc.GetStream();  
   
  StreamWriter   reqStreamW   =   new   StreamWriter(tcpStream);  
   
  FileStream   fs   =   new   FileStream("C:\\sql2ksp3\\MSDE\\setup.exe",   FileMode.Open,   FileAccess.Read);    
   
  BinaryReader   fileReader   =   new   BinaryReader(fs);    
  byte[]   bytes   =   new   byte[1024];    
  int   hasRead;    
   
  while((hasRead   =   fileReader.Read(bytes,   0,   bytes.Length))   !=   0)    
  {    
   
  tcpStream.Write(bytes,   0,   hasRead);  
  }  
   
  bytes   =   System.Text.Encoding.ASCII.GetBytes("<EOF>");  
  tcpStream.Write(bytes,   0,   bytes.Length);  
  fileReader.Close();    
   
   
  这是接收的:  
   
                    tcpl   =   new   TcpListener(5656);  
  tcpl.Start();  
   
   
  while(listenerRun)  
  {  
  Socket   s   =   tcpl.AcceptSocket();  
  Byte[]   stream   =   new   Byte[1024];  
  int   i=s.Receive(stream)   ;  
   
  string   path   =   @"c:\setup.exe";  
   
  if   (!File.Exists(path))    
  {  
  using   (FileStream   fs   =   File.Create(path))   {}  
  }  
   
   
  using   (FileStream   fs   =   File.OpenWrite(path))    
  {  
  Byte[]   info   =   new   System.Text.UTF8Encoding(true).GetBytes(stream);  
   
  fs.Write(stream,   0,   i);  
  }

NO.1   作者: xlkun

if   (length>1024)  
  {  
        if   ((length/size)*size<length)  
  page=length/size+1;  
        else  
  page=length/size;  
          for   (int   i=0;i<page;i++)  
        {  
  start=i*size;  
  if   (i==page-1)  
  count=length-(i*size);  
  tcpStream.Write(bWrite,start,count);       }

NO.2   作者: sqhua

应该可以的,Tcp保证了数据的准确传输

NO.3   作者: binbin2000

你多次传输就行了。给我发消息告诉我email   ,我给你段代码。


    摘要: listbox为什么不显示水平滚动条,当记录宽度超过控件宽度时。 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE