socket通信server+client的C++版

之前写过一次android的socket,最近用C++实现了windows下的客户端与服务器的聊天与传文件。

首先说一下什么是socket。socket(套接字)是一种独立于协议的网络编程接口,在OSI模型(对OSI七层模型不了解的自行Google)中主要集中于会话层和传输层。

详细来说,socket有四种类型:

  1. 字节流式(SOCK_STREAM):提供可靠的、面向连接的通信流,使用TCP协议保证数据传输的正确性和顺序性。
  2. 数据报(SOCK_DGRAM):定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的并且不保证可靠、无差错,使用数据报协议UDP。
  3. 有序分组(SOCK_SEQPACKET)
  4. 原始socket(SOCK_RAW)

在实际应用中,我们一般使用的windows socket规范是2.0版本的,它比1.0版本(只支持tcp/ip)支持更多的协议。

socket编程是有套路可言的:

server服务器部分:
1. initial socket dll
2. creat socket
3. bind socket with address
4. start listen(in this version, only a client)
5. accept client request
6. accept client data
7. send data to client
8. exit

client客户端部分:
1. initial socket dll
2. creat socket
3. connect server
4. send data to server
5.receive data from server
6. exit

这个是我的server与client的思路。可见两部分初始化socket dll和创建socket都是必须的,server要绑定socket并开始监听,而cl

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值