Avatar billede Slettet bruger
14. september 2001 - 12:37 Der er 6 kommentarer og
1 løsning

Windows(Builder) til UNIX socket

Jeg skal sende en streng fra en windowsclient (lavet i builder) til en unix server.

Unixserveren acceptere forbindelsen vha.

Server>>
    netS.Accept();
    cout << \"Accepted connection\" << endl;
    netS.Receive(recive_string);

Client>>
    ClientSocket->Open();  //Et clientsocket object
    Panel->Caption = \"Connected...\";
   
    if(ClientSocket->Socket->SendText(text);
      Panel->Caption = \"Not sent...\";
    else
      Panel->Caption = \"Sent...\";
   
      HER GÅR DET GALT!!

Unix laver en segmentation fault og stopper, windows retunere -1

Hvad går galt??

Hvad med kommunikation Unix->Windows??







Avatar billede Slettet bruger
14. september 2001 - 12:39 #1
(Har set at der er sneget sig et \";\" ind efter if(ClientSocket->Socket->SendText(text);, dette er IKKE fejlen)




Avatar billede mickni33 Nybegynder
14. september 2001 - 17:44 #2
netS.Accept();
    cout << \"Accepted connection\" << endl;
    netS.Receive(recive_string);

Er det de rigtige kald når man bruger unix ??
Syntes ikke jeg kender dem.
Avatar billede kamikaze Nybegynder
14. september 2001 - 23:38 #3
Har du taget højde for at byte-ordering er omvendt i unix/win32??? (ved ikke om det er det der er galt, men...)

Intel x86 familien kører lillte endian og unix kører big endian, dvs. på Intel x86 der kører windows gemmer processoren sine bytes med MSB til højre og LSB til venstre.
Avatar billede kamikaze Nybegynder
14. september 2001 - 23:40 #4
Med andre ord, hvis du ikke har byttet om på rækkefølgen bliver der ikke skabt nogen forbindelse.
Avatar billede soepro Nybegynder
17. september 2001 - 08:44 #5
Men det ville alligevel blot betyde at han modtog notget andet en \'Accepted ...\' - men stadig nogle tegn. (Vi har haft samme problem med JAVA og en AS/400 - men teksten kom over i første \"hug\" - vi kunne bare ikke læse den.)
Avatar billede kamikaze Nybegynder
19. september 2001 - 14:04 #6
soepro >> Hvordan kan en socket skabe en forbindelse hvis IP adressen er skrevet bagfra???
Avatar billede Slettet bruger
29. september 2001 - 08:32 #7
Problemet var at builders indbyggede socket objecter ikke kan arbejde sammen med linux. Prøvede at kode socket opsætningen i hånden og så fungede det...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester