On Tuesday 06 March 2001 18:00, Michael wrote:
Hallo allerseits,
ich habe folgendes problem:
ich möchte ein programm schreiben, welches über einen tcp socket mit einem anderen kommuniziert. nachdem ich mit socket() erfolgreich einen tcp socket eingerichtet habe, muß ich ihm mit bind() einem port zuweisen. ich weiß aber leider nicht, wie ich die portnummer an bind() übergebe.
da ich auf diesem gebiet noch recht unbewandert bin, würde ich mich über ein paar hinweise freuen.
Server: fd=socket(...); struct sockaddr_in sa; sa.sin_family=AF_INET; unsigned long addr=htonl(0x7f000001UL);//localhost memcpy(sa.sin_addr,addr,4); sa.sin_port=htons(8888);//Port 8888 bind(fd,&sa,sizeof(sa)); listen(fd,5);//Listen state, max. 5 Clients in Warteschlange
//normalerweise wird hier mit select auf Read-Ereignisse auf fd //gewartet
fd2=accept(fd);//neue Verbindung bekommen //fd2 benutzen //fd schließen sobald keine Clients mehr akzeptiert werden dürfen
Client: fd=socket(...); struct sockaddr_in sa; sa.sin_family=AF_INET; unsigned long addr=htonl(0x7f000001UL);//localhost memcpy(sa.sin_addr,addr,4); sa.sin_port=htons(8888);//Port 8888 connect(fd,&sa,sizeof(sa)); //fd benutzen
Das ganze Thema ist IMHO etwas zu komplex für eine eMail. Bitte besorg' Dir irgendwoher ein gutes Buch zum Thema, z.B.:
W.R.Stevens: "Unix Network Programming - volume 1", ISBN 0-13-490012-X (amerik. Ausgabe), Preis: recht hoch (soweit ich mich erinnere so um die 100DM)
Konrad
PS.: BITTE FANG DAS NÄCHSTE MAL EINEN NEUEN THREAD AN (tschuldigung für das Gebrülle, aber langsam nervts)