I don't understand why, but this segmentation faults after printing hello.
Any help appreciated.
#include <stdio.h>
#include <iostream>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <errno.h>
#include <unistd.h>
#define MYPORT 23
class sockets
{
public:
int sockfd;
struct sockaddr_in my_addr;
struct sockaddr_in dest_addr;
sockets();
~sockets();
int smake(void);
int sconnect(void);
protected:
};
int sockets::smake()
{
printf("works");
sockfd = socket(AF_INET, SOCK_STREAM, 0);
return sockfd;
}
int sockets::sconnect(void)
{
int stats;
printf("Enter Destination Address\n");
scanf("%s", &dest_addr.sin_addr.s_addr);
stats = connect(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr));
return stats;
}
sockets::sockets()
{
printf("Hello2");
my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(MYPORT);
my_addr.sin_addr.s_addr = inet_addr(INADDR_ANY);
memset(&(my_addr.sin_zero), '\0', 8);
dest_addr.sin_family = AF_INET;
dest_addr.sin_port = htons(MYPORT);
dest_addr.sin_addr.s_addr = inet_addr("255.255.255.255");
memset(&(my_addr.sin_zero), '\0', 8);
}
sockets::~sockets()
{
}
class ttext
{
public:
ttext();
~ttext();
char out(char *intext);
protected:
};
ttext::ttext()
{
}
ttext::~ttext()
{
}
char ttext:
ut(char *intext)
{
printf("%s\n", intext);
}
int main()
{
char testt[] = "Hello";
ttext t;
t.out(testt);
sockets sock1;
//sock1.smake();
//sock1.sconnect();
return 0;
}