Return-Path: william@bourbon.usc.edu Delivery-Date: Sun Sep 7 07:57:50 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on merlot.usc.edu X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3 Received: from bourbon.usc.edu (bourbon.usc.edu [128.125.9.75]) by merlot.usc.edu (8.14.1/8.14.1) with ESMTP id m87Evo9M007390 for ; Sun, 7 Sep 2008 07:57:50 -0700 Received: from bourbon.usc.edu (localhost.localdomain [127.0.0.1]) by bourbon.usc.edu (8.14.2/8.14.1) with ESMTP id m87EuZR1011725 for ; Sun, 7 Sep 2008 07:56:35 -0700 Message-Id: <200809071456.m87EuZR1011725@bourbon.usc.edu> To: cs551@merlot.usc.edu Subject: Re: 551 warmup-1 Date: Sun, 07 Sep 2008 07:56:35 -0700 From: Bill Cheng Someone wrote: > How does the recv() know that the transmission has ended? Should I see the > data length in the message and run a loop for that many bytes? Yes. You should read the common header first and then use the data length field to determine how many bytes to read. > Till now I was doing > while(ret == 1) { > .......ret = recv(....); > } You should also call select() before recv(). -- Bill Cheng // bill.cheng@usc.edu