🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.os.unix.programming
Article #4

socket -1 Problem

#4
From: Michael Gschwandtner
Date: Mon, 14 Apr 2003 21:31
58 lines
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-mail

Show 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