Article View: de.comp.os.unix.programming
Article #4socket -1 Problem
From: Michael Gschwandtner
Date: Mon, 14 Apr 2003 21:31
Date: Mon, 14 Apr 2003 21:31
58 lines
2665 bytes
2665 bytes
Ich habe hier ein kurzes Beispielprogramm das meinen Fehler beschreibt
Normalerweise sollte man, wenn man von einem einseitg geschloessenem
Socket liest -1 zur�ck bekommen. Ich bekomme aber immer nur 0 zur�ck.
Wenn ich mit netstat den Verbindungsstatus kontrolliere ist der
CLOSE_WAIT. D.h. die Verbindung wurde vom Server geschlossen.
Kann mir bitte jemand sagen warum das nicht funktioniert. Oder
alternativ eine M�glichkeit wie ich vom Socket die Information
herausbekomme ob die andere Seite die Verbindung geschlossen hat.
Vielen Dank im Voraus
MfG Mike
----------------------------------------------------
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <arpa/inet.h>
int main(int argc,char *argv[])
{
hostent *h;
struct sockaddr_in sad;
int sock,received;
char *req="GET / HTTP/1.0\n\n",inbuff[65000];
h = gethostbyname ( argv[1] );
sad.sin_port=htons(80);
memcpy ( &sad.sin_addr.s_addr, h->h_addr_list[0],4 );
sad.sin_family=AF_INET;
sock = socket ( AF_INET, SOCK_STREAM, 0 );
if ( connect ( sock, (struct sockaddr *)&sad, sizeof(struct
sockaddr_in) ) != -1 )
{
printf ("Connected\n");
write ( sock , req, 16 );
printf ("Wrote Request\n");
while ( ( received = read ( sock, inbuff, 65000 ) ) != -1 )
{
printf ( "received: %i\n", received );
}
}
close ( sock );
return 0;
}
----------------------------------------------------------
Technical Details
Message-ID:
<3E9B28B2.70902@tznetz.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed00.sul.t-online.de!t-online.de!news-lei1.dfn.de!news-fra1.dfn.de!newsfeed01.univie.ac.at!newsfeed01.highway.telekom.at!newsreader02.highway.telekom.at!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII X-Google-Thread: 1101c9,b26a14702a46d53e,start X-Google-Attributes: gid1101c9,public X-Google-Thread: f8ff7,b26a14702a46d53e,start X-Google-Attributes: gidf8ff7,public X-Google-ArrivalTime: 2003-04-14 12:31:04 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed00.sul.t-online.de!t-online.de!news-lei1.dfn.de!news-fra1.dfn.de!newsfeed01.univie.ac.at!newsfeed01.highway.telekom.at!newsreader02.highway.telekom.at!not-for-mail Message-ID: <3E9B28B2.70902@tznetz.com> Date: Mon, 14 Apr 2003 21:31:30 +0000 From: Michael Gschwandtner <mgschwan@tznetz.com> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021201 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: de.comp.os.unix.programming,at.linux Subject: socket -1 Problem Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Lines: 59 NNTP-Posting-Host: 80.121.192.27 X-Trace: 1050348436 newsreader02.highway.telekom.at 32056 80.121.192.27