C++网络编程

ip地址和端口号
ip地址是用来标识唯一台主机
端口号是用来标识主机上的一个应用程序
网络通信和我们平时打电话时一样的。
IP地址是相当于公司的总机号码,端口号是分机号码,在打电话的时候,拨通总机号码后,还需要转到分机上。

因特网上的ip地址具有全球的唯一性
ip地址在每台主机上是唯一的。32位点分十进制表示。

协议(tcp/ip)

套接字(socket)
socket的出现,使得程序员很方便的访问tcp/ip,

客户向服务器提出请求,
服务器接收到请求后,提供相应的服务。

套接字分为3种类型
流套接字
数据报式套接字
原始套接字

基于TCP面向连接的socket编程
服务器端
7步:
1,创建套接字(socket)
2,将套接字绑定到一个本地地址和端口上(bind)
3,将套接字设为监听模式,准备接收客户请求(listen)
4,等待客户请求到来,当请求到来后,接受连接请求,返回一个新的对应于此连接的套接字(accept)
5,用返回的套接字和客户端进行通讯(send/.recv)
6,返回,等待另一客户请求
7,关闭套接字
客户端
4步


服务器(accept)等待接收客户端的(connect)
然后,二者建立了连接,之后用
send,recv进行通信。
问客户端为什么不用bind?
答,因为在客户端发送请求,服务端收到请求后,一旦建立连接,就已经保存了客户端的ip地址和端口号的信息了

对于UDP的socket编程,

对于用套接字进行通信,与利用电话机进行通信,是一样的,套接字是相当于电话机,IP地址相当于总机号码。端口号相当于分机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值