TCP

TCP的客户端代码流程简述

这一章将为大家讲解Socket通信中客户端的实现过程,还是先上图,请大家了解客户端的步骤可以看到,相比服务端,客户端的步骤简单的很多。事实上这种情况比较多,比如一个服务端会有多个客户端连接。通过图片我们可以看到TCP客务端调用的函数依次是socket()、connect()、recv()、send()

Socket编程之socket函数

如下图所示,是Socket通信的原理图,左侧为服务端,右侧是客户端,可以看到服务端的步骤要多一些,客户端将在后面讲解。本节开始将从左侧服务端第一步开始逐步讲解,本步骤目标为创建一个套接字,其返回值为后面的步骤使用。下面我们开始正式进入Socket通信的第一步,

Socket编程之connect函数

这一节我们讲connect连接,这一步位于客户端的第二步,调用connect阻塞客户程序,传输层实体开始建立连接,当连接建立完成时,取消阻塞;函数功能:向服务端发起连接请求头文件:#include<winsock2.h>函数原型:intconnect(intsockcd,

Socket编程之bind函数

在完成第一步创建套接字,分配了一个Socket描述符后,服务端的第二步就是使用在这个描述符用Bind绑定Bind()系统调用的主要用处:1.服务器向系统注册它的众所周知的地址。面向连接和无连接的服务器在接受客户的请求之前都必须做这一步。2.客户可为自己注册一个特定的地址,

Socket客户端完整参考代码

本代码用于和第二章服务端代码一致,监听12345端口,可以不断的发送消息,直至输入"quit"退出程序,完整参考代码如下:#include<winsock2.h>#include<stdio.h>#pragmacomment(lib,"ws2_32.lib")intmain(){interr;char

Socket编程之listen函数

接着,在完成bind函数之后,服务端接下来就可以用listen函数监听了,用于监听是否有客户端连接它,以便存储多个用户的连接建立请求,listen函数具体如下:函数功能:让socket进入被动监听状态。什么是被动监听呢,是指当没有客户端请求时,

Socket编程之send函数

与是recv一样,有收就会有发,发送内容对应send函数,也是从服务端accept后或客户端connect后就可以用的函数,其说明如下:函数功能:发送服务端或客户端的数据头文件:#include<winsock2.h>函数原型:intsend(intaID,

什么是TCP/IP协议族

在了解TCP和UDP之前,我们先了解TCP/IP协议族,首先这个协议族的的由来,在一开始很多电脑表达一个消息的方法可谓是多种多样,因为它们运行着完全不同的操作系统,这就像有不同口音,说不同语言的人聚在了一起一样,语言的不通使得他们没有办法在一起合作。

htos和htol函数:主机序转换到网络序

在网络传输过程中,一定会涉及到主机序和网络序的问题,即本机的存储和网络的传输是完全两套存储方式,我们保证不了目标主机的字节序是否和网络序一致,因此一定要考虑这个问题,这里介绍常用的两个函数htos和htol函数,使主机序转换到网络序1.htos函数:函数功能:将主机无符号短整形数转换成网络,

Socket编程之accept函数

在listen监听到有新客户端时,就可以用accept函数响应客户的连接请求,建立与客户端的连接。产生一个新的socket描述符来描述该连接,这个连接用来与发起该连接请求的客户交换数据。函数功能:接收客户端连接请求头文件:#include<winsock2.h>函数原型:intaccept(intso