Oprettet tor. d. 03. maj 2001 kl. 10:38:10

mickni33
mickni33 (13.827 point. Point ude: 150)

Client/Server over socket

////// CLIENT SIDEN ///////////////
T client;  // template variable

write(sockfd,client,100);  //sender client til server

read(sockfd,&client,100);    //læser og   
recv(sockfd,&client,100,0);    //reciever den nye client

cout<<client;
////////SERVER SIDEN//////////////
T clientstreng;

read(client_sockfd,&clientstreng,100);

/* udfører et eller andet og giver
clientstreng en ny værdi */

write (client_sockfd,&clientstreng,100);
send (client_sockfd,&clientstreng,100,0);
//////////////////////////////////////////

når programmet kører går det ned \'segmentation fault\' men hvis jeg fjerner
cout linien vil det gerne køre.
cout << er overloadet i den template klasse som T står for så det burde virke.....Men det gør det ikke, hvorfor f..... ikke???

Jeg kører i Linux.

Skrevet tor. d. 03. maj 2001 kl. 11:54:53| #1

peter_m
peter_m (26.673 point)
Har du forsøgt at debugge dig frem til den værdi client indeholder for og om det egentlig er lovlig for cout

Skrevet tor. d. 03. maj 2001 kl. 22:21:26| #2

stringbuffer
stringbuffer (22.561 point)
Hvorfor laver du både en write og en send på serveren?

Skrevet fre. d. 04. maj 2001 kl. 08:26:08| #3

mickni33
mickni33 (13.827 point)
stringbuffer>>
ved ikke hvorfor, for jeg har også en read og recv  i client, men det har jeg rettet.\'
Men jeg har selv fundet ud af hva der var galt ved hjælp af udelukkelses metoden.

min template T indeholder et objekt hvor der er indvolveret to \'string\' og en \'int\'. så det er et objekt med disse tre typer der skal igennem socket\'en.
men man kan ikke fører en string type igennem måske fordi de systemkald der bruges er skrevet i C. jeg prøvede at sende de tre typer igennem hver for sig og det var kun \'int\'en der kom igennem. efter jeg ændrede de tre typer til char[] så kom de alla igennem, når jeg gjorde hver for sig. template T ville stadig ikke føres igennem, som et objekt.Og måske er det fordi det er et objekt af en klasse, og da C jo ikke har klasser er det måske problemet. Men så har jeg tænkt på at ligge de to char[] og int\'en ind i en struct, måske går det bedre, det er da noget C\'s systemkald kender......pyyha... måske skulle jeg prøve en nemmere \'spaghetti metode\' ..

Skrevet fre. d. 04. maj 2001 kl. 08:27:42| #4


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Updater Hybrid App

Oprettet den 18. april 2012 kl. 13.29
sir_madsen giver 100 point for svar | Giv et svar »

Ansi-c win32API - kan ikke oprette Richedit4.1 kontrol

Oprettet den 16. april 2012 kl. 22.13
cblcbl giver 60 point for svar | Giv et svar »

Iphone Objective C - Sætte image på et imageview.

Oprettet den 7. april 2012 kl. 11.36
lasserasch giver 30 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger