Δημοσιεύτηκε: 13 Απρ 2010, 18:31
από lefos28
Nisok έγραψε:Το segmentation fault (9 στις 10), γενικά σημαίνει ότι έχεις κάποιο δείκτη σε κάτι, είτε κάποιο vector και βγαίνεις εκτός ορίων.

Γενικά καλό είναι να χρησιμοποιείς το try / catch όταν δουλεύεις δυναμικά.
Αν αναβάσεις όλο το κώδικά σου θα μπορέσω να βοηθήσω περισσότερο.



Κώδικας: Επιλογή όλων
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netdb.h>
#include<strings.h>

int main()
{
int sockfd_cl,n;
char buf[256];
sockfd_cl=socket(AF_INET, SOCK_STREAM,0);
struct sockaddr_in servaddr;
bzero((char *) &servaddr, sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=6789;
servaddr.sin_addr.s_addr= inet_addr("xxx.xxx.xxx.xxx");
connect(sockfd_cl, &servaddr , sizeof(servaddr));
if (connect(sockfd_cl,&servaddr,sizeof(servaddr)) < 0)
error("Disconnected");
printf("Type your message: ");
bzero(buf,256);
fgets(buf,256,stdin);
n = write(sockfd_cl,buf,strlen(buf));
if (n < 0)
error("ERROR");
bzero(buf,256);
n = read(sockfd_cl,buf,256);
if (n < 0)
error("ERROR ");
printf("%s\n",buf);
return 0;
}


Eυχαριστώ που ασχολείσαι με το πρόβλημα που έχω....