On Wed, Dec 23, 1998 at 06:39:08AM +0700, Yohanes Yogi Wahyu P. wrote:
> Maaf kalo agak ngga nyambung..
> 
> Saya lagi nyoba socket programming (Windows socket sih, tapi kayanya
> sama saja dg Socket yg lainnya).

ada sedikit perbedaan... di windows tidak bisa read() write() ke socket,
operasi socket hanya bisa dengan recv() dan send(), CMIIW

> Begini, saya membaca data dari remote server (POP3 server) dengan 'recv()'.
> Tipe socketnya adalah SOCK_STREAM, dan saya membaca data fragmen-per
> -fragmen (misalnya baca 8 byte, terus 8 byte lagi, ... dst).
> 
> Q. Bagaimana caranya program saya tau bahwa sudah tidak ada data lagi yang
> harus dibaca/ditunggu?

ini tergantung dari protokol, dalam POP3 setiap email diakhiri dengan
satu baris yang hanya berisi titik... program anda harus mencek ini...

> Solusi saya yg sekarang adalah dg memberi timeout, yaitu kalau sudah tidak
> menerima data selama beberapa detik dianggap data yang dibaca sudah habis.
> Cara ini banyak kelemahannya, misalnya mungkin sekali data belum semuanya
> dibaca tapi sudah dianggap habis (karena sudah lama ditunggu belom datang juga).

socket akan 'dihancurkan' kalau client disconnect atau server disconnect,
kalau tidak ada yang disconnect ya ngga akan putus2 (kecuali timeout,
tergantung dari tcp/ip stacknya)... untuk memerintahkan
server untuk disconnect pakai perintah QUIT pada proto POP3..


-- 
Ideal wife: must be able to cook, clean house, wash dishes, make love,
raise kids, feed the pets, configure sendmail...

______________________________________________________________________
Utk berhenti langganan kirim email ke [EMAIL PROTECTED] 
Sudah cari di arsip? http://www.linux.or.id/milis.php3#arsip-id-linux
Utk info etika diskusi, kirim email kosong ke [EMAIL PROTECTED]

Kirim email ke