网络编程之TCP-IP socket编程(1)
网络编程之TCP-IP socket编程(1)
两个网络程序之间需要通信就需要在他们之间建立一个链接通道,这个通道就是由一个五元组组成。
五元组:(协议、本地IP地址、本地端口号、远程IP地址、远程端口号)
socket编程原理
socket套接口
网络程序之间通信是依靠socket套接口进行通信。
例如:主机A上面的QQ程序需要发送消息到主机B上面的QQ,步骤就是:
①主机A上面的QQ发消息存到主机A上面的socket中
②这个socket通过主机A的网络管理软件通过网络接口卡传到主机B中得网络接口卡
③主机B的网络接口卡接收到消息后再传给主机B的网络管理软件再传到主机B的socket中。
④然后主机B中得QQ读取socket中得信息
套接口分类
①流式套接口(SOCK_STREAM)可靠的面向连接的数据传输服务(适用于TCP)
②数据报套接口(SOCK_DGRAM)无连接不可靠的双向数据传输服务(使用与UDP)
③原始套接口(SOCK_RAM)很少用
socket编程原理
①服务端调用socket()函数开启一个服务,就是创建一个套接口
②这个socket条用bind()函数把一个端口跟这个socket绑定
③调用listen()函数监听客户端的请求
④客户端也调用socket()函数穿件一个请求服务的套接口,然后调用connect()函数请求连接
⑤服务端调用accept()函数接收请求连接,然后使用recv()函数从套接口读数据,调用send()函数向套接口发送数据
⑥关闭套接口资源
评论暂时关闭