Socket

Socket是什么?套接字又是什么?

当我们在自己的计算机上运行代码时有没有想过实现两个计算机间的交互呢?有没有想过它其实并不复杂呢?Socket编程就会带领我们打开两个计算机间交互的大门,下面我为大家介绍什么是Socket。Socket用专业术语说就是套接字,不过我相信很多人并不理解套接字的意思,

Socket类型有哪些

在通过对Socket的简单介绍后,我们来看一下Socket都有哪些类型。比较常用的类型包括:流式套接字(使用TCP),数据报套接字(UDP),原始套接字等等。我们主要会用到:流式套接字SOCK_STREAM和数据报套接字SOCK_DGRAM。

面向连接和面向无连接套接字

之前我们提到了流式套接字和数据报式套接字,在介绍中,我们说到了流式套接字是面向连接的套接字,数据报套接字是面向无连接的套接字。那么面向连接的和面向无连接的套接字有什么区别呢?举个例子简单地说明面向连接就像有一条管道连接着发送端和接收端,数据包都通过这条管道来传输。

什么是TCP/IP协议族

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

什么是TCP与UDP协议

在介绍完TCP/IP协议族后,接下来为大家介绍TCP与UDP协议。在介绍之前我们先来了解一下协议的意思,协议呢就像是规章制度,只不过它是由计算机规定的规章制度,在规章制度上有很多的条例需要去遵守,例如怎么建立连接,怎么相互识别等等。当然在计算中有许多协议,

TCP的服务端代码流程简述

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

Socket编程之WSAStartup函数

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

Socket编程之socket函数

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

Socket编程之bind函数

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

Socket编程中的相关概念

在开始之前,先给大家做一些知识点的普及,理解后面一些可能用到的知识点概念1、流(Stream)计算机中的流其实是一种信息的转换。于某一对象,通常把对象接收外界的信息输入称为输入流,把对象向外输出信息为输出流,合称为输入/输出流(I/OStream)。