ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
791
791
EMPFEHLEN
-
hi Leute wie gehts euch?
ich hatte davor von ein netten User ein Programm bekommen (aber unter WINDOWS geschrieben)! und ich habe es so über nommen das es normaler weisse unter LINUX
"auch" funktionieren sollte!
aber leider ist es nicht so
und jetzt setze ich schon seit 2 1/2 woche schon daran und weiss langsam aber
sicher nicht mehr weiter.
denn das komische daran ist das es keine Fehler meldungen gibt und es läss sich wunderbar den Programm auf zurufen. ich kann mit mit hilfe Telnet zwar auf dem Port 162 zugreifen aber das Programm gibt nicht das aus, was auf dem Port 162 ist!
und jetzt brauche ich unbedingt hilfe
kann einer mir helfen
Danke schon mal im voraus! and have a nice day
-
Und wie sollen wir dir jetzt helfen ?
Also du könntest versuchen Zeile 40 mit 43 zu tauschen !?
Nee spaß beiseite konkrete Frage, Code posten oder wie auch immer
-
naja ich weiss nicht ob ihr damit was anfangen kann
aber bitte hier ist mein code:
#include<sys/socket.h>
#include<netinet/in.h>
struct sockaddr_in server_service;
int main(void)
{
int i;
int size;
int addr_size=sizeof(server_service);
int mySocket, client;
int nret;
char recvbuf[512];
mySocket=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(mySocket<0) printf(" Error! \n");
server_service.sin_family=AF_INET;
server_service.sin_port=htons(162);
server_service.sin_addr.s_addr=INADDR_ANY;
nret=bind(mySocket, (struct sockaddr *)&server_service, sizeof(server_service));
if(nret<0) printf(" Errors with bind! \n");
nret=listen(mySocket, 5);
if(nret<0) printf(" Errors with bind sockets! \n");
client=accept(mySocket, NULL, NULL);
if (client>=0) printf(" client is connected! \n\n");
for( ; ; )
{
size=recv(mySocket, recvbuf, sizeof(recvbuf), 0);
if(size == -1) printf(" Error with receiving! \n");
else
{
printf(" %s \n", recvbuf);
break;
}
}
close(mySocket);
return 1;
}
und seit ihr schon etwas schlauer geworden
-
Hallo,
ist das programm alles was du hast ? kannst du mir bitte den kompletten code
schicken ? wenn das alles ist, dann macht das programm gar nichts, ausser dass er eine Verbindung aufbaut und auf den "Client" wartet (accept(...)).
ok, bis dann
m.basit
-
nein natürlich nicht ich hab das nur abgekürzt!
hier ist mein richtiger programm!
#include<stdio.h>
#include<sys/time.h>
#include<unistd.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<sys/select.h>
#define BUFFER_SIZE 1024
int binden(int s);
int lauschen(int s);
int empfangen(int s);
struct sockaddr_in addr;
struct sockaddr_in cli;
int main(void)
{
int mySocket=0;
int c=0;
socklen_t cli_size;
mySocket=socket(AF_INET, SOCK_STREAM, 0);
if(mySocket==-1)
{
perror(" socket() failed \n");
return 1;
}
addr.sin_family=AF_INET;
addr.sin_addr.s_addr=INADDR_ANY;
addr.sin_port=htons(162);
binden(mySocket);
lauschen(mySocket);
cli_size=sizeof(cli);
for( ; ; )
{
c=accept(mySocket, (struct sockaddr*)&cli, &cli_size);
if(c==-1)
{
perror(" accept() failed \n");
close(c);
}
else
{
printf(" Verbindung von %s \n", inet_ntoa(cli.sin_addr));
empfangen(mySocket);
break;
}
}
close(mySocket);
return 1;
}
int binden(int s)
{
if(bind(s, (struct sockaddr*)&addr, sizeof(addr)) ==-1)
{
perror(" bind() failed \n");
return 2;
}
}
int lauschen(int s)
{
if(listen(s, 3) ==-1)
{
perror(" listen() failed \n");
return 3;
}
}
int empfangen(int s)
{
char buffer[BUFFER_SIZE];
int bytes=0;
bytes=recv(s, buffer, sizeof(buffer)-1, 0);
if(bytes==-1)
{
perror(" recv() in \"empfangen()\" failed \n");
return -1;
}
buffer[bytes]='\0';
printf(" Server: %s ", buffer);
return 0;
}
Ähnliche Themen
-
Hilfe tar.gz Update von MySql 4.x auf 5.x unter Linux
Von nrr1 im Forum Linux & UnixAntworten: 1Letzter Beitrag: 05.02.08, 08:06 -
Bitte Hilfe, Probleme mit ProcessBuilding unter Linux
Von Andron im Forum JavaAntworten: 1Letzter Beitrag: 23.01.07, 15:44 -
Hilfe dringend bei Email-Server unter Linux Debian !
Von Symbiontx im Forum Linux & UnixAntworten: 1Letzter Beitrag: 04.04.05, 20:52 -
Linux anfänger brauch ma hilfe für STREAMEN unter Linux
Von G-Mein im Forum Linux & UnixAntworten: 9Letzter Beitrag: 03.11.04, 11:57





Zitieren
Login






