linux socket 发送ip报文,Linux下的socket编程

本文详细介绍了在Linux环境下如何使用socket进行网络通信编程,包括TCP和UDP协议的区别,socket接口的使用,以及客户/服务器模式的实现。通过实例展示了服务器端和客户端的代码实现。
摘要由CSDN通过智能技术生成

网络通信编程即编写通过计算机与其他程序之间进行通讯的程序,相互通信的程序中一方可以称为客户端程序,另一方称为服务程序,应用系统提供Socket编程接口可以编写自己的网络程序。

一  通过TCP/IP协议进行传输

TCP:为应用程序提供可靠的通信连接。适合一次传输大批的数据情况。并使用于要求得到的响应程序。

UDP:提供无线连接通信,且对传送包进行可靠性保证。适合一次传输少量的数据,可靠性则由应用层来负责。

二  Socket套接字

网络通信编程通过socket接口来进行的。socket接口是TCP/IP网络的API,包含了一整套的调用接口和数据结构定义,他给应用程序提供了如使用TCP/UDP等网络协议进行通讯的手段。

每一个socket都用一个半相关的描述(协议,本地地址,本地端口)来表示;一个完整的套接字则用一个相关描述(协议,本地地址,本地端口,远程地址,远程端口)来表示。

常见的socket有3种类型如下:流式套接字socket(SOCK_STREAM)

流式套接字提供面向连接的,可靠的数据传输服务,数据无差错,无重复的发送,且按发送顺序接收.

2.数据报套接字socke(SOCK_DGRSM)

数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证是可靠,无差错的。

3原始套接字

允许对底层协议如IP或ICMP进行直接访问,它功能强大使用较为不便,主要用于一些协议的开发.

三 客户/服务模式

在TCP/IP网络应用中,通信的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值