Winsockでファイル送信できるには?


たまほげら  2002-04-15 03:35:19  No: 75506

Winsock.ocxを使ってファイル送信ソフトを作りたいのですが、
object.SendData data  というやり方で送信しようとすると、
なぜか、8KBまでしか送れません。

これは、Winsockの仕様なのか、やり方がまずいのか分かりません。
どうか、対処方法を教えてください。

開発環境:Windows98SE  
          VB6SP3  

WinsockはTCP方式です。


Cp.Alpha2  2002-04-15 17:05:01  No: 75507

バイトまで分解して個別に送るというのはどうでしょうか。


たまほげら  2002-04-17 04:27:08  No: 75508

Dim GetFileByte() As Byte

Open filename For Binary As #FreeFile()        
    ReDim GetFileByte(FileLen(filename) - 1)
    Get #1, , GetFileByte()
Close

tcpClient.SendData GetFileByte()

僕がやってるのはこんな感じですが無理でした。
多分、どこかが間違ってると思うんですが分かりません。


kenji  2002-04-24 09:03:02  No: 75509

まず、FreeFileの戻り値は残しておきましょう。
ファイルを開いているのならLOF関数を使ってファイルサイズが
取得できます。

Dim GetFileByte() As Byte
Dim FileNumber As Integer

FileNumber = FreeFile() 
Open filename For Binary As FileNumber 
ReDim GetFileByte(0 to LOF(FileNumber) - 1)
Get FileNumber , , GetFileByte()
Close FileNumber 

tcpClient.SendData GetFileByte()

こんな感じになると思います。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加