hey ive copied an example from a tutorial
and i wanted to know why this is working
but putting an error on bind? (the error
is "invalid argument")
Code:
    #include <string.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>

    #define MYPORT 3490    // the port users will be connecting to

    #define BACKLOG 2     // how many pending connections queue will hold

    int main()
    {
        int sockfd, new_fd;  // listen on sock_fd, new connection on new_fd
        struct sockaddr_in my_addr;    // my address information
        struct sockaddr_in their_addr; // connector's address information
        int sin_size;

        sockfd = socket(AF_INET, SOCK_STREAM, 0); // do some error checking!

        my_addr.sin_family = AF_INET;         // host byte order
        my_addr.sin_port = htons(MYPORT);     // short, network byte order
        my_addr.sin_addr.s_addr = INADDR_ANY; // auto-fill with my IP
        memset(&(my_addr.sin_zero), '\0', 8); // zero the rest of the struct

        // don't forget your error checking for these calls:
        bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr));
	if(bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1)
		perror("bind");

        listen(sockfd, BACKLOG);
	if(listen(sockfd, BACKLOG) == -1)
		perror("listen");

        sin_size = sizeof(struct sockaddr_in);
        new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size);
	if(accept(sockfd, (struct sockaddr *)&their_addr, &sin_size) == -1)
		perror("accept");
	return 0;
}
how would i rewrite this to see who is loggin on, when someone connects?
thanks