Chinaunix首页 | 论坛 | 博客
  • 博客访问: 49386
  • 博文数量: 25
  • 博客积分: 960
  • 博客等级: 准尉
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 12:39
文章分类
文章存档

2011年(1)

2009年(20)

2008年(4)

我的朋友

分类: C/C++

2009-04-18 20:01:19

//FileName:socklib.c
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define   HOSTLEN  256
#define   BACKLOG  1
int make_server_socket_q(int , int );
int make_server_socket(int portnum)
{
 return make_server_socket_q(portnum, BACKLOG);
}
int make_server_socket_q(int portnum, int backlog)
{
 struct  sockaddr_in   saddr;
 //struct hostent  *hp;
 char hostname[HOSTLEN];
 int sock_id;
 sock_id = socket(PF_INET, SOCK_STREAM, 0);
 if ( sock_id == -1 )
  return -1;
 if ((sock_id = socket(AF_INET, SOCK_STREAM, 0)) == -1)
 {
  perror("creating socket failed.");
  exit(1);
 }
 int opt = SO_REUSEADDR;
 setsockopt(sock_id, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
 bzero(&saddr,sizeof(saddr));
 saddr.sin_family = AF_INET;
 saddr.sin_port = htons(portnum);
 saddr.sin_addr.s_addr = htonl(INADDR_ANY); 
 if(bind(sock_id,(struct sockaddr *)&saddr,sizeof(struct sockaddr)) == -1)
 {
  perror("bind error.");
  exit(1);
 }
 if ( listen(sock_id, backlog) != 0 )
  return -1;
 return sock_id;
}
阅读(874) | 评论(0) | 转发(0) |
0

上一篇:fifo通信小程序

下一篇:多线程web服务器

给主人留下些什么吧!~~