基于多线程的并发服务器(例子)

本文详细介绍了如何创建基于多线程的并发服务器,从创建socket开始,涉及socket的绑定、监听、接受连接请求,以及客户端的创建过程。讲解了包括地址绑定、字节序转换、数据收发等关键步骤,并强调了服务器端的读写线程设计,以实现数据交换的双向互不影响。
摘要由CSDN通过智能技术生成

1创建一个socket
socket(套接字)实质上提供了进程通信的端点,进程通信之前双方首先必须建立各自的一个端点,否则是没有办法通信的。通过socket将IP地址和端口绑定之后,客户端就可以和服务器通信了。
创建一个套接字可以使用socket()函数
sys/socket。h
int socket(int domain,int type,int protocol)
返回值:成功则返回套接字文件描述符,失败返回-1
参数1:通信域,确定通信特性,包括地址格式
域 描述
AF_INET IPv4因特网域
AF_INET6 IPV6因特网域
AF_UNIX unix域
AF_UNSOEC 未指定
参数2:套接字类型
类型 描述
SOCK_DGRAM 长度固定的、无连接的不可靠报文传输
SOCK_RAW IP协议的数据报接口
SOCK_SEQPACKET 长度固定、有序、可靠的面向连接报文传递
SOCK_STREAM 有序、可靠、双向的面向连接的字节流()
参数3:指定相应的传输协议,也就是诸如TCP或UDP协议等等,系统针对每一个协议簇与类型提供了默认的协议,我们通过把protocol设置为0来使用这个默认值

2绑定IP地址和端口信息
使用bind()函数来把信息绑定到socket
在socket程序设计中,struct sockaddr_in用来记录网络地址
struct sockaddr_in
{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值