随笔分类 -  计算机网络

摘要:前面的程序,不管服务器端还是客户端,都有一个问题,就是处理完一个请求立即退出了,没有太大的实际意义。能不能像Web服务器那样一直接受客户端的请求呢?能,使用 while 循环即可。修改前面的回声程序,使服务器端可以不断响应客户端的请求。 服务器端 server.cpp: #include <stdi 阅读全文
posted @ 2020-12-29 15:50 swsyya 阅读(753) 评论(0) 推荐(0)
摘要:所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端,就像声音一样,遇到障碍物会被“反弹回来”。 对!客户端也可以使用 write() / send() 函数向服务器发送数据,服务器也可以使用 read() / recv() 函数接收数据。考虑到大部分初学者使用 Window 阅读全文
posted @ 2020-12-29 15:37 swsyya 阅读(274) 评论(0) 推荐(0)
摘要:在 Linux 和 Windows 平台下,使用不同的函数发送和接收 socket 数据,下面我们分别讲解。 Linux下数据的接收和发送 Linux 不区分套接字文件和普通文件,使用 write() 可以向套接字中写入数据,使用 read() 可以从套接字中读取数据。前面我们说过,两台计算机之间的 阅读全文
posted @ 2020-12-29 15:25 swsyya 阅读(474) 评论(0) 推荐(0)
摘要:socket() 函数用来创建套接字,确定套接字的各种属性,然后服务器端要用 bind() 函数将套接字与特定的 IP 地址和端口绑定起来,只有这样,流经该 IP 地址和端口的数据才能交给套接字处理。类似地,客户端也要用 connect() 函数建立连接。 bind() 函数 bind() 函数的原 阅读全文
posted @ 2020-12-29 15:02 swsyya 阅读(726) 评论(0) 推荐(0)
摘要:在 here 一节中我们讲到了 Windows 和 Linux 在对待 socket 方面的区别。Linux 中的一切都是文件,每个文件都有一个整数类型的文件描述符;socket 也是一个文件,也有文件描述符。使用 socket() 函数创建套接字以后,返回值就是一个 int 类型的文件描述符。Wi 阅读全文
posted @ 2020-12-29 14:25 swsyya 阅读(515) 评论(0) 推荐(0)
摘要:WSAStartup()函数以及DLL的加载 WinSock(Windows Socket)编程依赖于系统提供的动态链接库(DLL),有两个版本: 较早的DLL是 wsock32.dll,大小为 28KB,对应的头文件为 winsock1.h; 最新的DLL是 ws2_32.dll,大小为 69KB 阅读全文
posted @ 2020-12-29 11:07 swsyya 阅读(846) 评论(0) 推荐(0)
摘要:本篇博客只是先展示一下代码,具体的编程相关请看后面的博客吧 服务器端代码 server.cpp 1 #include <stdio.h> 2 #include <winsock2.h> 3 4 #pragma comment(lib,"ws2_32.lib") 5 6 int main(int ar 阅读全文
posted @ 2020-12-29 10:50 swsyya 阅读(502) 评论(0) 推荐(0)
摘要:在茫茫的互联网海洋中,要找到一台计算机非常不容易,有三个要素必须具备,它们分别是 IP 地址、MAC 地址和端口号。 IP地址 IP地址是 Internet Protocol Address 的缩写,译为“网际协议地址”。目前大部分软件使用 IPv4 地址,但 IPv6 也正在被人们接受,尤其是在教 阅读全文
posted @ 2020-12-28 17:06 swsyya 阅读(464) 评论(0) 推荐(0)
摘要:面向连接就是可靠的通信,无连接就是不可靠的通信,实际情况是这样吗?不管是哪种数据传输方式,都得通过整个 Internet 网络的物理线路将数据传输过去,从这个层面理解,所有的 socket 都是有物理连接的呀,为什么还有无连接的 socket 呢? 从字面上理解,面向连接好像有一条管道,它连接发送端 阅读全文
posted @ 2020-12-28 16:47 swsyya 阅读(481) 评论(0) 推荐(0)
摘要:这个世界上有很多种套接字(socket),比如 DARPA Internet 地址(Internet 套接字)、本地节点的路径名(Unix套接字)、CCITT X.25地址(X.25 套接字)等。但本教程只讲第一种套接字——Internet 套接字,它是最具代表性的,也是最经典最常用的。以后我们提及 阅读全文
posted @ 2020-12-28 16:20 swsyya 阅读(217) 评论(0) 推荐(0)
摘要:网络编程就是编写程序使两台联网的计算机相互交换数据。这就是全部内容了吗?是的!网络编程要比想象中的简单许多。 那么,这两台计算机之间用什么传输数据呢?首先需要物理连接。如今大部分计算机都已经连接到互联网,因此不用担心这一点。 在此基础上,只需要考虑如何编写数据传输程序。但实际上这点也不用愁,因为操作 阅读全文
posted @ 2020-12-28 16:06 swsyya 阅读(357) 评论(0) 推荐(0)
摘要:重点例题: 答案: 解释: 1:A向B发送一帧:S1自学习与转发帧过程:自学习取出源地址,发现 S1 表中 MAC 地址没有 A,所以把A(MAC地址) >1(接口)写入S1表;查表,发现S1表中没有目的地址 B ,所以进行广播(向除了1接口以外的都发送,即2,3,4,5接口),这里很快就能发现可以 阅读全文
posted @ 2020-10-04 12:25 swsyya 阅读(4566) 评论(0) 推荐(1)
摘要:自己的计算机网络部分主要是记录一些自己觉得比较重要并且用电脑写比较方便的部分 阅读全文
posted @ 2020-10-04 11:41 swsyya 阅读(130) 评论(0) 推荐(0)

回到顶部