网络通讯编程UDP/TCP

[复制链接]
发表于 2026-2-3 14:47:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、差别体系布局间的互联互通

  • 通讯本质:差别主机上历程间的通讯。通过 IP 标识网络中的一台主机,本质上是 32 位的整型数据;通过端标语标识某个历程,本质上是 16 位的整型数据。
  • 网络模子:重要有 C/S(客户端 / 服务器)、B/S(欣赏器 / 服务器)、P2P(对等网络)三种。
二、实现编程

  •         UDP 编程(C/S 模子):

    • 特点:无毗连、不可靠。
    • 客户端:使用socket创建套接字,通过sendto等函数发送数据。
    • 服务器端:将自己的地点公布出去,使用socket创建套接字,通过bind绑定地点,使用recvfrom吸取数据。
    • recvfrom函数:从指定的套接字吸取数据,并生存发送方的地点信息。乐成时返回吸取到的字节数,失败时返回 -1。
    • bind函数:在服务器端将套接字与指定的接口地点关联,用于从该接口担当数据;在客户端可将数据从套接字中取出并从指定接口装备上发送出去。客户端可以省略此函数,由默认接口发送数据。

  •         基于 TCP 的编程(C/S 模子):

    • 客户端:

      • 创建毗连:使用socket创建套接字(相当于买了一部手机),可选的bind操纵(相当于插上 SIM 卡),然后使用connect向服务器发起毗连哀求(相当于拨打电话)。
      • 通讯过程:使用read和write举行数据读写,末了使用close关闭毗连。

    • 服务器端:

      • 创建毗连:使用socket创建套接字,通过bind绑定地点,使用listen监听客户端的毗连哀求,使用accept接听客户端的毗连哀求(这一步完成后毗连就创建好了,可以收发数据)。
      • 通讯过程:使用read和write举行数据读写,末了使用close关闭毗连。

    • TCP 创建毗连(三次握手):客户端向服务器发送 “我要和你创建毗连” 的哀求,服务器复兴 “好的,可以创建毗连”,客户端再复兴 “好”,完成三次握手创建毗连。
    • 断开毗连(四次挥手):客户端向服务器发送 “我要和你断开毗连” 的哀求,服务器复兴 “好的,可以断开”,服务器再发送 “我也要断开” 的哀求,客户端末了复兴 “好”,完成四次挥手断开毗连。
    • connect函数:由客户端使用,向目标主机发起毗连哀求。参数包罗当地套接字id、远程目标主机的地点信息及地点信息长度。乐成时返回 0,失败时返回 -1。

三、地点相干操纵

  • 绑定地点:重要针对服务器步调,绑定的是服务器地点电脑的 IP 地点。
  • 查察地点:在 Linux 下使用ifconfig下令查察网卡相干信息(包罗 IP 地点);在 Windows 下在 cmd 中使用ipconfig /all下令查察。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表