🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux.programowanie
5 messages
5 total messages Started by Hadrian Lutogniewski Thu, 09 Sep 1999 19:14
TCP/IP jako plik w C
#259
Author: Hadrian Lutogniewski
Date: Thu, 09 Sep 1999 19:14
21 lines
1073 bytes
A Hoj,

Co trzeba zrobic, aby uruchomic klienta TCP/IP w C tak, aby komunikacja
odbywala sie tak, jak pisanie/czytanie z pliku tzn.:

#include <tcp_lib.h> /* nawet nie wiem w jakiej bibliotece tego szukac */
int f;
f = opentcp ("www.onet.pl",http); /* lub opentcp ("194.204.191.30",80); */
if f<0 then error;
write (f,fbuf,n_bytes);
reads (f,fbuf,n_bytes);
closetcp (f);

Bede wdzieczny za wszelkie podpowiedzi

Hadrian

-- 
Hadrian Lutogniewski
call: +48 604 444 369
mailto: hadrian@beer.com
Re: TCP/IP jako plik w C
#260
Author: Krzysztof Krzyżaniak
Date: Thu, 09 Sep 1999 20:45
43 lines
2367 bytes
Pewnego dnia, a było to 9 Sep 1999 19:14:40 GMT przyszła do mnie
wiadomość od <hadrian@Leon.mat.uni.torun.pl> i powiedziała:

>A Hoj,
>
>Co trzeba zrobic, aby uruchomic klienta TCP/IP w C tak, aby komunikacja
>odbywala sie tak, jak pisanie/czytanie z pliku tzn.:

Generalnie poszukaj sobie w info libc na temat programowania socketów:
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
		     
int make_socket(uint16_t port){	 
       sock = socket (PF_INET, SOCK_STREAM, 0);
       if (sock < 0){
           perror ("socket");
           exit (EXIT_FAILURE);
       }
		      
      /* Give the socket a name. */
       name.sin_family = AF_INET;
       name.sin_port = htons (port);
       name.sin_addr.s_addr = htonl (INADDR_ANY);
       if (bind (sock, (struct sockaddr *) &name,sizeof (name)) < 0){
            perror ("bind");
            exit (EXIT_FAILURE);
       }
			
       return sock;
}

Funkcja zwraca deskryptor gniazdka, które możesz wykorzystać w funkcjach
open, write itp. Polecam `Programowanie zastosowań sieciowych w systemie
Unix' R.W. Stevens.

	eloy
-- 
 * Krzysztof `eloy' Krzyżaniak * HP -> http://www.pawnhearts.eu.org/~eloy/
 * <eloy@pawnhearts.eu.org>    * KabaretLoza44 -> http://loza44.topnet.pl/
 * PH Member                   * Rock -> http://wwwv.venco.com.pl/~eloy/muzyka/
                 Życie jest średnie, ani dobre, ani złe... (MZ)
Re: TCP/IP jako plik w C
#261
Author: Bohdan R. Rau
Date: Fri, 10 Sep 1999 11:49
63 lines
2444 bytes
Dnia 9 września 1999 o godzinie 19:14:40 GMT Hadrianowi
 Lutogniewskiemu wpadło na myśl aby napisać tak:
>
>Bede wdzieczny za wszelkie podpowiedzi

UWAGA! Procedura NIE JEST sprawdzona, przerobiłem na czuja procedurę
tconnect.c z pakietu icon.9.3/ipl! Oryginalna procedura działała.

#include <string.h>
#include <stdio.h>

#include <fcntl.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>



FILE *tconnect(char *hostname, int port)	/*: connect to TCP socket */
   {
   unsigned char *p;
   int fd, i, d[4];
   FILE *fp;
   struct hostent *h;
   struct sockaddr_in sin;

   memset(&sin, 0, sizeof(sin));


   /* get host address */
   if (sscanf(hostname, "%d.%d.%d.%d", &d[0], &d[1], &d[2], &d[3]) == 4) {
      p = (unsigned char *) &sin.sin_addr;
      for (i = 0; i < 4; i++)
         p[i] = d[i];
      }
   else {
      h = gethostbyname(hostname);
      if (!h) return 0;
      memcpy(&sin.sin_addr, h->h_addr, sizeof(struct in_addr));
      endhostent();
      }

   /* create socket and connect */
   sin.sin_family = AF_INET;
   sin.sin_port = htons(port);
   if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) return 0;
   if (connect(fd, (struct sockaddr *) &sin, sizeof(sin)) < 0) return 0;
   
   /* create stdio file pointer */
   return fdopen(fd, "r+");
}



Pozdrawiam

ethanak
http://ethanak.i.sex.pl
-- 
Gdyby Word zrzucał core, to mógłbyś pomylić kontrolkę "HDD"
z kontrolką "Power"
                                          Radosław Gancarz
Re: TCP/IP jako plik w C
#262
Author: Michal 'Azzazel' Pajak
Date: Fri, 10 Sep 1999 22:50
12 lines
1121 bytes
>Co trzeba zrobic, aby uruchomic klienta TCP/IP w C tak, aby komunikacja
>odbywala sie tak, jak pisanie/czytanie z pliku tzn.:

zerknij na http://cscene.oftheinter.net/
C-Scene Issue #05
"Tying Standard Input and Output to a Socket Connection" by Kyle R.
Burton


				pozdrawiam

					aZZaZel
Re: TCP/IP jako plik w C
#263
Author: Hadrian Lutogniewski
Date: Sat, 11 Sep 1999 12:47
8 lines
779 bytes
Dziekuje za wszystkie podpowiedzi, a szczeglonie za link do cscene.org.

Hadrian

-- 
Hadrian Lutogniewski
call: +48 604 444 369
mailto: hadrian@beer.com
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads