利用listen函数将已经绑定的套接字设置为被动连接监听状态
2014-06-12 12:54
344 查看
#include<sys/socket.h>
#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<memory.h>
#include<sys/mman.h>
#include<sys/types.h>
#include<netinet/in.h>
#define PORT 1234
#define MAX_QUE 5
int main()
{
struct sockaddr_in local_sockaddr,client_sockaddr;
int socketfd;//本地socket套接字描述符
if((socketfd=socket(AF_INET,SOCK_STREAM,0))<0)//建立socket连接
{
perror("socket");
exit(1);
}
printf("Socket id = %d\n",socketfd);
local_sockaddr.sin_family = AF_INET;
local_sockaddr.sin_port = htons(PORT);
local_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);
memset(local_sockaddr.sin_zero,0,8);
int i;
setsockopt(socketfd,SOL_SOCKET,SO_REUSEADDR,&i,sizeof(i));//允许重复使用本地的地址与套接字进行绑定
if(bind(socketfd,(struct sockaddr *)&local_sockaddr,sizeof(struct sockaddr))<0)//绑定函数bind()
{
perror("bind");
exit(1);
}
printf("Bind success!\n");
if(listen(socketfd,MAX_QUE)<0)//利用listen()设置被动监听
{
perror("listen");
exit(1);
}
printf("Listening>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
close(socketfd);//关闭socket连接
}
#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<memory.h>
#include<sys/mman.h>
#include<sys/types.h>
#include<netinet/in.h>
#define PORT 1234
#define MAX_QUE 5
int main()
{
struct sockaddr_in local_sockaddr,client_sockaddr;
int socketfd;//本地socket套接字描述符
if((socketfd=socket(AF_INET,SOCK_STREAM,0))<0)//建立socket连接
{
perror("socket");
exit(1);
}
printf("Socket id = %d\n",socketfd);
local_sockaddr.sin_family = AF_INET;
local_sockaddr.sin_port = htons(PORT);
local_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);
memset(local_sockaddr.sin_zero,0,8);
int i;
setsockopt(socketfd,SOL_SOCKET,SO_REUSEADDR,&i,sizeof(i));//允许重复使用本地的地址与套接字进行绑定
if(bind(socketfd,(struct sockaddr *)&local_sockaddr,sizeof(struct sockaddr))<0)//绑定函数bind()
{
perror("bind");
exit(1);
}
printf("Bind success!\n");
if(listen(socketfd,MAX_QUE)<0)//利用listen()设置被动监听
{
perror("listen");
exit(1);
}
printf("Listening>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
close(socketfd);//关闭socket连接
}
相关文章推荐
- Linux内核--网络协议栈深入分析(五)--套接字的绑定、监听、连接和断开
- Android 利用广播监听usb连接状态(变化情况)
- Linux内核--网络协议栈深入分析(五)--套接字的绑定、监听、连接和断开
- kernel中套接字的绑定、监听、连接和断开
- Linux内核--网络协议栈深入分析(五)--套接字的绑定、监听、连接和断开
- android 利用广播监听usb连接状态
- 网络协议栈深入分析(五)--套接字的绑定、监听、连接和断开
- Linux内核--网络协议栈深入分析(五)--套接字的绑定、监听、连接和断开
- Linux内核--网络协议栈深入分析(五)--套接字的绑定、监听、连接和断开
- JavaScript中为事件句柄绑定监听函数
- PHP高级应用学习笔记之——利用header()函数设置浏览器缓存
- MYSQL已经生效的设置和状态查询命令
- PHP下利用header()函数设置浏览器缓存的代码
- PHP下利用header()函数设置浏览器缓存的代码
- TCP如何区分监听套接字和已连接套接字
- 利用ATL创建com组件和如何在程序中使用组件的接口函数和设置接口的属性
- 利用SubclassDlgItem函数动态连接控件和控件对象
- Flex中如何利用FocusManager类的setFocus函数设置TextInput的焦点的例子
- JavaScript中绑定事件监听函数的通用方法 addEvent() [转]