TCP Client代码结构及实现
TCP客户端的功能主要是向服务端发送消息或接收来自服务端的消息,最基础的功能是建立连接,断开连接,接收信息,发送信息,以下以代码示例:1,引入所需的类库```c...
一个简单的TCP Server代码结构及实现
TCP和UDP是做通信的两种常用手段,在做和硬件有关的项目开发时,经常会用到,如远程控制类的硬件,物联网类项目中的数据接收,数据转发等,本文对TCP Serve...
闲聊一下UDP和TCP的区别
闲聊一下UDP和TCP的区别TCP 是面向连接的传输协议,建立连接时要经过三次握手,断开连接时要经过四次握手,中间传输数据时也要回复 ACK 包确认,多种机制...
了解TCP数据报结构以及三次握手
了解TCP数据报结构以及三次握手TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协...
关于socket缓冲区以及阻塞模式详解
socket缓冲区以及阻塞模式详解可以使用 write()/send() 函数发送数据,使用 read()/recv() 函数接收数据,本节就来看看数据是如何...
关于bind()和connect()函数
bind()和connect()函数:绑定套接字并建立连接socket() 函数用来创建套接字,确定套接字的各种属性,然后服务器端要用 bind() 函数将套...
关于TCP/IP协议族
目前实际使用的网络模型是 TCP/IP 模型,它对 OSI 模型进行了简化,只包含了四层,从上到下分别是应用层、传输层、网络层和链路层(网络接口层),每一层都包...
基于UDP的服务器端和客户端
前面的文章中我们给出了几个 TCP 的例子,对于 UDP 而言,只要能理解前面的内容,实现并非难事。
UDP中的服务器端和客户端没有连接
TCP协议的粘包问题(数据的无边界性)
上节我们讲到了socket缓冲区和数据的传递过程,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发送了多少次,都会尽可能多的接...
发送数据和接收数据
在 Linux 和 Windows 平台下,使用不同的函数发送和接收 socket 数据,下面我们分别讲解。
Linux下数据的接收和发送
让套接字进入监听状态并响应客户端请求
对于服务器端程序,使用 bind() 绑定套接字后,还需要使用 listen() 函数让套接字进入被动监听状态,再调用 accept() 函数,就可以随时...
绑定套接字并建立连接
socket() 函数用来创建套接字,确定套接字的各种属性,然后服务器端要用 bind() 函数将套接字与特定的 IP 地址和端口绑定起来,只有这样,流经...
创建套接字
不管是 Windows 还是 Linux,都使用 socket() 函数来创建套接字。socket() 在两个平台下的参数是相同的,不同的是返回值。
Windows下的socket演示程序
上节演示了 Linux 下的 socket 程序,这节来看一下 Windows 下的 socket 程序。同样,server.cpp 为服务器端代码,cl...
Linux下的socket演示程序
和C语言教程一样,我们从一个简单的“Hello World!”程序切入 socket 编程。
本节演示了 Linux 下的代码,server....
IP、MAC和端口号——三要素
在茫茫的互联网海洋中,要找到一台计算机非常不容易,有三个要素必须具备,它们分别是 IP 地址、MAC 地址和端口号。
IP地址<...
OSI网络七层模型
如果你读过计算机专业,或者学习过网络通信,那你一定听说过 OSI 模型,它曾无数次让你头大。OSI 是 Open System Interconnecti...
套接字有哪些类型?
这个世界上有很多种套接字(socket),比如 DARPA Internet 地址(Internet 套接字)、本地节点的路径名(Unix套接字)、CCI...
socke(套接字)是什么?
网络编程就是编写程序使两台联网的计算机相互交换数据。这就是全部内容了吗?是的!网络编程要比想象中的简单许多。
那么,这两...