TCP

Socket编程之bind函数

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

Socket编程之accept函数

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

TCP的服务端代码流程简述

在讲述了那么多以后我们终于来到了代码阶段的讲解了,先放一张流程图便于大家理解。接着会为大家讲述具体的实现过程。通过上图我们可以看到一个完整的Socket网络通信,是有客户端和服务端两部分代码组成的,即两个程序(你发给我,我接收;我发给你,你接收)组成。

Socket编程之recv函数

函数功能:接收客户端或服务端传来的数据,也就是客户端和服务端都要用到头文件:#include<winsock2.h>函数原型:intrecv(intaID,char*buf,intlen,intflags);返回值类型:整型返回值:返回值小于0,socket报错。

Socket编程之WSAStartup函数

上一节我们介绍了客户端与服务端相互通信的模型图,每一步都有具体的函数实现,但需要明白的是,使用这些函数之前,在Windows系统下,需要先调用WSAStartup函数进行必要的初始化,才可以顺利的进行,而使用WSAStartup函数又需要事先包含对应的头文件winsock2.h及静态库ws2_32.l

Socket服务端完整参考代码

前面讲解了Socket通信中服务端的每一步功能作用及实现,而重点是多个步骤在一起时,上下文函数之间的信息传递需要我们理解,如SOCKADDR_IN的结构体、各个SOCKET描述符等参数,以及在此基础之上改进得到的希望的实际效果(如需要不停的接受消息、发送消息)下面我们将所有步骤串联在一起,

Socket编程之listen函数

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

Socket编程之WSACleanup函数

一旦程序结束需要停止Socket库的使用,需要调用WSACleanup函数,这一步和最开始的WSAStartup是对应的。函数功能用于终止对So:cket字库的使用。库链接:#pragmacomment(lib,"ws2_32.lib")表示链接Ws2_32.lib这个库。

什么是TCP/IP协议族

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