利用bind函数将创建好的套接字绑定到本地计算机的某一端口上
2014-06-12 12:53
211 查看
#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
int main()
{
struct sockaddr_in local_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");
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
int main()
{
struct sockaddr_in local_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");
close(socketfd);//关闭socket连接
}
相关文章推荐
- 完成端口与套接字绑定的OVERLAPPED结构释放问题
- 利用ACCESS窗体快速创建本地Blog
- 利用安装光盘创建本地 yum 源补装 RPM 软件包
- 如何查看电脑端口 计算机常被利用的端口号介绍
- 查看 计算机 windows 本地 占用 80 端口 程序
- 利用本地iso文件创建yum源
- 利用数据绑定和模板创建Atlas应用程序
- 利用listen函数将已经绑定的套接字设置为被动连接监听状态
- 在本地client端创建一个指定端口的WCF service的方法
- 利用异地数据库的数据,创建本地视图。跨数据库创建视图
- vb.net2005 利用创建好的WORD模板制作WORD报表
- 利用安装光盘创建本地 yum 源补装 RPM 软件包
- 利用数据绑定和模板创建Atlas应用程序
- 利用安装光盘创建本地 yum 源补装 RPM 软件包
- 利用安装光盘创建本地 yum 源补装 RPM 软件包
- 如何在socket 程序中绑定本地端口
- 利用安装光盘创建本地YUM源安装wireshark
- Vb6 Activex控件创建与使用 - 解决64位系统上读取excel2007时发生的未在本地计算机上注册microsoft.ACE.oledb.12.0的问题
- 利用WMIC进行本地计算机管理
- 在本地计算机端口被占用而无法启动MySql,解决办法