HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0826
たこメールサーバーからデータの受信0未解決


たこ

リンク

2008/8/26(Tue) 14:46:42|NO.18696

全く解決方法がわからなかったので質問します

メールサーバーからデータの受信をしようとしているのですが、
まれに、データが途中で途切れてしまいます。
サーバーから送られるデータを一度に受信したいのですが…
↓のスクリプトで受信しています、どこを直せばいいのか指摘やらヒントをお願いします

#module #include "hspsock.as" #deffunc _sockopen int p1, str p2, int p3 sockopen p1, p2, p3 return #deffunc _sockclose int p1 sockclose p1 return #deffunc RecvSockMessage var buf, int id timeout = 3 : s = 0 : i = 0 : c = 0 sdim buf, 1024 repeat wait 1// 受信待ち時間 sockcheck id if stat = 0 {// 受信可能データが到達した sockgetb buf, i, 1024, id if stat != 0 { i += stat c = 0 if peek(buf, i) = 0 : s = 200 :break// すべてのデータの受信完了 }else{// 通信エラー s = -10 break } }else{ if stat = 2 : s = -1 : break// 通信エラー if timeout <= c/10 : s = 100: break// 余裕をもって受信を待機する } c++ loop return c #deffunc SendSockMessage str _buf, int id buf = _buf s = 0 : i = 0 : sendSize = strlen(buf) repeat sockputb buf, i, sendSize, id if stat != 0 { i += stat sendSize -= stat if sendSize = 0 { break } }else{ s = -1 : break } loop return #global screen 0, 640, 700 server="" ;サーバーアドレス port=110;ポート番号 user="";ユーザー名 pass="";パスワード sdim log, 1024 _sockopen 0, server, port RecvSockMessage log, 0 color mes stat mes log SendSockMessage "user "+user+"\n", 0 RecvSockMessage log, 0 color mes stat mes log SendSockMessage "pass "+pass+"\n", 0 RecvSockMessage log, 0 color mes stat mes log SendSockMessage "top 1 0\n", 0// サーバーにメールがないとできません RecvSockMessage log, 0 color mes stat mesbox log, 640, 200 SendSockMessage "quit\n", 0 RecvSockMessage log, 0 color mes stat mes log _sockclose 0 mes "END"



この記事に返信する


ONION software Copyright 1997-2023(c) All rights reserved.