Skip to content

Instantly share code, notes, and snippets.

@c4pt0r
Created September 22, 2012 03:41
Show Gist options
  • Select an option

  • Save c4pt0r/3765041 to your computer and use it in GitHub Desktop.

Select an option

Save c4pt0r/3765041 to your computer and use it in GitHub Desktop.
create non blocking socket
#include "conn.h"
int
_set_non_blocking(int s) {
int x;
x = fcntl(s,F_GETFL,0);
fcntl(s,F_SETFL,x | O_NONBLOCK);
return s;
}
int
create_socket(int port) {
int listenfd;
struct sockaddr_in servaddr;
listenfd = socket(AF_INET, SOCK_STREAM, 0);
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(port);
bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr));
listen(listenfd, 5);
_set_non_blocking(listenfd);
return listenfd;
}
/*
int main(int argc, char const *argv[])
{
int fd = create_socket(8889);
_log_err("fd: %d", fd);
return 0;
}*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment