一、Socket相关知识

什么是soket 

socket 被翻译为“套接字”,是计算机之间进行通信的一种方式或约定。实现不同虚拟机和计算机(包括普通PC机,嵌入式主机和PLC)之间的通信。Socket本质是编程接口API,对TCP/IP的封装。web,QQ,微信都是基于Socket 的典型应用。

Socket位于应用层和传输层之间。

 Socket的编程方式

Socket起源于Unix,而Unix/Linux的基本哲学之一就是“一切皆文件”,都可以用“打开->读写->关闭”的模式来操作。Socket 就是该模式的一个实现,socket是一种特殊的文件,socket函数就是对其进行的操作(打开,读写IO,关闭)。因此socket也提供了类似于连接,关闭连接,发送接收等方法。

数据传输方式

常用的有两种:STREAM 和 DGRAM

服务器端的程序编写步骤

  1. 调用socket()函数创建一个用于通信的套接字。
  2. 给已经创建好的套接字绑定一个端口号,通过设置网络套接口地址和调用bind()函数来实现。
  3. 调用listen()函数使套接字成为一个监听套接字。
  4. 调用accept()函数来接收客户端的连接,就可以和客户端通信了。(该函数是阻塞式的)
  5. 处理客户端的连接请求。
  6. 终止连接。

客户端的程序编写步骤

  1. 调用socket()函数创建一个用于通信的套接字。
  2. 通过设置套接字地址结构,说明客户端与之通信的服务器的IP地址和端口号。
  3. 调用connect()函数来建立与服务器的连接。
  4. 调用读写函数发送或者接收数据。
  5. 终止连接。

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值