前言 之前写了一篇如何在windows系统上安装Tensorflow Object Detection API? 然后就想着把数据集换成自己的数据集进行训练得到自己的目标检测模型。...动手之前先学习了一波别人是如何实现的,看了大多数教程都有一个小问题:用VOC2012数据集进行训练当做用自己的数据集。 然而,初心想看的是自己的数据集啊!...于是就自己来撸一篇教程,方便自己也给别人一些参考吧~ 目录 基于自己数据集进行目标检测训练的整体步骤如下: 数据标注,制作VOC格式的数据集 将数据集制作成tfrecord格式 下载预使用的目标检测模型...数据标注,制作VOC格式的数据集 数据集当然是第一步,在收集好数据后需要进行数据的标注,考虑到VOC风格,这里推荐使用LabelImg工具进行标注。 ?...pipeline_config_path=E://Jan_Project//Experiment_1//training//faster_rcnn_inception_v2_coco.config 如果配置不够,可以云服务器上跑
您可以根据需要调整DNS设置,但默认设置应该适用于托管自己邮件的大多数用户。 本教程介绍如何在运行Ubuntu 14.04 x86-64的腾讯云CVM上设置Mail-in-a-Box。...设置主机名将在本教程后面讨论 我们稍后会详细介绍,但您的域名注册商需要支持设置自定义域名服务器和粘合记录,以便您可以在腾讯云CVM上托管自己的DNS; 术语虚荣名称服务器经常被使用 (可选)使用SSL证书代替自签名证书...:如何设置此证书取决于你是否拥有可解析该服务器的域名。...在第二行使用您自己的IP和域。 保存并关闭文件。...如果您使用的是其他注册商,请致电他们的技术支持或浏览他们的知识库,以了解如何创建胶水记录。 登录后,找到您管理的域列表,然后单击目标域; 也就是说,您将用于设置邮件服务器的那个。
第2步 - 部署PEPS 使用(替换您的用户名和服务器IP)通过SSH连接到您的腾讯云CVM,并运行以下命令来准备环境。...的IP地址,使用其your_server_ipIP地址连接到您的腾讯云CVM。...由于我们现在使用的是临时SSL证书,因此您的浏览器会警告您该站点不安全。无论如何接受它。在Chrome中,单击“ 高级”继续。 首次运行时,系统将提示您创建管理员密码。...根据您的域名提供商,使用自己的界面为您的域设置DNS条目或设置您自己的DNS服务器。 您必须同时设置A和MX记录。...有几本手册可供选择: 用户手册 管理员手册 有关想要使用PEPS API或有关备份等操作员的开发人员的更多文档可从GitHub上的项目wiki获得。
example: Napster 文件传输使用P2P结构 文件搜索采用C/S结构——集中式 每个节点向中央服务器登记自己的内容 每个节点向中央服务器提交查询请求,查找感兴趣的内容...该项目最初为了在Berkeley的Unix中实现TCP/IP的协议簇 事实上,现今套接字API可面向多种协议栈 目前 事实上的工业标准 绝大多数操作系统都支持 Linux/Unix...C端专用) 发起请求"连接"远端服务器 closesocket/close 释放/关闭套接字(前者基于WinSock,后者基于BerkeleySock) bind(通常C端由OS调用) 绑定套接字本地...IP和端口号 listen 设置TCP套接字为监听模式,同时设置请求队列大小 accept 接收/提取一个连接请求,创建新套接字(建立连接通道) send 发送数据(TCP套接字/连接模式的C端UDP...套接字) sendto 发送数据报(非连接的UDP) recv 接收数据(TCP套接字/连接模式的C端UDP套接字) recvfrom 接收数据报(非连接的UDP) setsockopt 设置套接字选项参数
C/S架构: Client:客户端 Server:服务端 优点:软件的使用稳定,并且可以节省网络资源 如QQ、pycharm等,手机端的微信、王者荣耀等等 缺点:1.若用户想在同一台设备上使用多个软件...早期如何实现远程通信: ——打电话————》电话线 ——电脑台式电脑————》网线,有线网卡 ——笔记本电脑————》有线网卡、无线网卡 要实现远程通讯必须具备 1.物理连接介质》网卡.......IP+port:世界上某一台电脑上的一个应用软件。 TCP协议工作原理: TCP协议是流式协议 TCP协议的工作原理 三次握手与四次挥手: ? ...——应用层 socket: socket是一个模块,可以写一套c/s架构的套接字 socket套接字封装好各层协议的工作。...socket属于抽象出来的一个层并不是真实的存在的,它封装了自己下面的层级。 ? 使用socket的优点:可以节省开发成本。 socket的具体工作流程: 先从服务器端说起。
套接字,也称为BSD套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。...应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。 1.服务器先用 socket 函数来建立一个套接字,用这个套接字完成通信的监听。 ...3.服务器调用 listen 函数,使服务器的这个端口和 IP 处于监听状态,等待客户机的连接。 4.客户机用 socket 函数建立一个套接字,设定远程 IP 和端口。 ...IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 ...(3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。 (4)如果一个服务器即要处理TCP,又要处理UDP,一般要使用I/O复用。
当应用程序具有套接字描述符后,它可以将唯一的名称绑定在套接字上,服务器必须绑定一个名称才能在网络中访问。...在为服务端分配了 socket 并且将名称使用 bind 绑定到套接字上后,将会调用 listen api。...listen 表示客户端愿意等待连接的意愿,listen 必须在 accept api 之前调用。 客户端应用程序在流套接字(基于 TCP)上调用 connect 发起与服务器的连接请求。...服务器应用程序使用acceptAPI 接受客户端连接请求,服务器必须先成功调用 bind 和 listen 后,再调用 accept api。...在流套接字之间建立连接后,客户端和服务器就可以发起 read/write api 调用了。 当服务器或客户端要停止操作时,就会调用 close API 释放套接字获取的所有系统资源。
Socket利用客户/服务器模式巧妙地解决了进程之间建立通信连接的问题。服务器Socket半相关被全局所公认非常重要。大家不妨考虑一下,两个完全随机的用户进程之间如何建立通信?...为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。...WindowsSockets规范定义并记录了如何使用API与Internet协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的WindowsSockets实现都支持流套接字接口和数据报套接字接口...然而,由于AT&T的专利保护着Unix,所以只有在1989年伯克利大学才能自由地发布自己的操作系统和网络库。 Berkeley套接字应用程序接口形成了事实上的网络套接字的标准精髓。...大多数其他的编程语言使用与这套用C语言写成的应用程序接口类似的接口。这套应用程序接口也被用于Unix域套接字。
学习套接字层的编程是有必要的,或许很少会自己从头去写,但操作系统的API提供方式经久不变,一经学会,受用终身,同时在项目的架构设计时,选用何种网络组件就非常准确了。...学习套接字编程,关注点主要在:套接字的编程方法有哪些?阻塞套接字的各方法是如何阻塞住当前代码段的?非阻塞套接字上的方法如何不阻塞当前代码段的?IO多路复用机制是怎样与套接字结合的?...要掌握住这5个功能,不仅仅需要熟悉一些API的使用,更要理解底层网络如何与上层API之间互相发生影响。同时,还需要对不同的场景下,如何权衡开发效率、进程、线程与这些API的组合使用。...这幅图中可以看到,阻塞套接字上使用accept,第一个阶段是等待ACCEPT队列不为空的阶段,它耗时不定,由客户端是否向自己发起了TCP请求而定,可能会耗时很长。...所以,企业级的服务器进程中,若某一线程既使用accept获取新连接,又继续在这个连接上读、写字符流,那么,这个连接对应的套接字通常要设为非阻塞。
一 客户端/服务器架构 即C/S架构,包括 1.硬件C/S架构(打印机) 2.软件C/S架构(web服务) 美好的愿望: 最常用的软件服务器是 Web 服务器。...) C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 二 osi七层 引子: 须知一个完整的计算机系统是由硬件、操作系统、应用软件三者组成,具备了这三个条件,一台计算机系统就可以自己跟自己玩了...在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。...使用 'from socket import *',我们就把 socket 模块里的所有属性都带到我们的命名空间里了,这样能 大幅减短我们的代码。...监听 s.accept() 被动接受TCP客户的连接,(阻塞式)等待连接的到来 客户端套接字函数 s.connect() 主动初始化TCP服务器连接 s.connect_ex() connect
网络通信就是为了联通多方然后进行通信用的,即把数据从一方传递给另一方。 如果现代社会没有网络,我们操作任何电脑或者手机都是单机模式,只能自己跟自己玩。...网络通信的本质:也即进程之间的通信 表现形式:不同的电脑间的数据传递。 如何连接网络——套接字 套接字是计算机网络数据结构,它体现了上节中所描述的“通信端点”的概念。...面向连接的套接字——TCP 面向连接的,字面解释——在进行通信之前必须先建立一个连接,例如,使用电话系统给一个朋友打电话。这种类型的通信也称为虚拟电路或流套接字。...实现这种连接类型的主要协议是传输控制协议(更为人熟知的是它的缩写 TCP)。 为了创建 TCP 套接字,必须使用 SOCK_STREAM 作为套接字类型。...IP地址的作用,就是用来标记网络上的一个电脑的。(不允许重复)比如类似192.268.1.1这种格式。
它提供给我们的是一种非常简单的资源获取机制,但实际上它是一个具有自己的优化标准、API 和服务的完整平台。 ?...实际上,现代浏览器在将请求管理周期与套接字管理分离方面做了更多的工作。套接字组织在按源分组的池中,每个池执行自己的连接限制和安全约束。挂起的请求被排队、排序,然后绑定到池中的各个套接字。...除非服务器有意关闭连接,否则同一个套接字可以跨多个请求自动重用! ? 由于打开新的 TCP 连接需要额外的成本,因此连接的重用本身就带来了巨大的性能优势。...例如,浏览器不允许 API 直接访问原始网络套接字,因为这将使任何恶意应用程序能够任意连接到任何主机。浏览器还强制执行连接限制,以保护服务器和客户端免于资源耗尽。...应用程序 Api 和协议 研究完了网络服务,终于到达了应用程序 API 和协议这一步。正如我们所看到的,底层提供了大量关键服务:套接字和连接管理、请求和响应处理、各种安全策略的执行、缓存等等。
比如你的电脑作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3457”这样的端口。 网络通信--IP ip地址 1....65534主机 3.3 C类IP地址 一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110” 范围192.0.1.1-223.255.255.254 二进制表示为:...发送数据到指定的电脑上 #第一个参数是二进制对象,要将字符串转换为二进制对象,需要使用encode方法,根据对方接收什么编码,进行解码。...,最大可连接客户端数# 如果有新的客户端来链接服务器,那么就产生一个新的套接字专门为这个客户端服务器 # newSocket用来为这个客户端服务 # tcpSerSocket就可以省下来专门等待其他新客户端的链接...# 关闭为这个客户端服务的套接字,只要关闭了,就意味着为不能再为这个客户端服务了,如果还需要服务,只能再次重新连接newSocket.close()# 关闭监听套接字,只要这个套接字关闭了,就意味着整个程序不能再接收任何新的客户端的连接
比如你的电脑作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3457”这样的端口。 网络通信--IP ip地址 1....65534主机 3.3 C类IP地址 一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110” 范围192.0.1.1-223.255.255.254 二进制表示为:...发送数据到指定的电脑上 #第一个参数是二进制对象,要将字符串转换为二进制对象,需要使用encode方法,根据对方接收什么编码,进行解码。...最大可连接客户端数 如果有新的客户端来链接服务器,那么就产生一个新的套接字专门为这个客户端服务器 newSocket用来为这个客户端服务 tcpSerSocket就可以省下来专门等待其他新客户端的链接...关闭为这个客户端服务的套接字,只要关闭了,就意味着为不能再为这个客户端服务了,如果还需要服务,只能再次重新连接 newSocket.close() 关闭监听套接字,只要这个套接字关闭了,就意味着整个程序不能再接收任何新的客户端的连接
TCP服务端编程 python中的网络编程,就类似生活中将两台PC用网线连接起来一样,网线表示网络,需要水晶头将网线连接到电脑上才能正常的操作;python提供了这样的水晶头:套接字(socket)...TCP网络编程就是这么回事 2.1 API解析 socket模块:TCP网络编程,需要引入这个模块 ---- socket():socket模块中的socket()对象,可以用于创建套接字:socket...,使用socket.SOCK_STREAM表示使用流协议(TCP) 返回值:一旦创建成功,返回一个套接字对象,姑且命名为sc ---- bind():用于将套接字和主机IP以及端口号Port进行绑定,就是上面例图中将网线插到电脑上...套接字的关闭方法,通信完毕之后,一定要记得关闭和服务器之间的TCP连接,释放资源。...---- 2.2 TCP服务端程序编写 服务端程序开发,首先创建服务端程序的套接字对象,将套接字对象跟服务器IP地址和端口进行绑定;其次开始设置启动监听,等待客户端的连接;如果客户端一旦连接进来,就可以和客户端之间进行数据的收发操作
举个例子,当你使用浏览器访问新浪网时,你的计算机就和新浪的某台服务器通过互联网连接起来了,然后,新浪的服务器把网页内容作为数据通过互联网传输到你的电脑上。...,你的电脑上可能同时开启qq,暴风影音,等多个应用程序, 那么我们通过ip和mac找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。...Socket又称“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求,使主机间或者一台计算机的进程间可以通讯 类似于操作系统将复杂丑陋的控制计算机硬件的操作封装成统一简单的接口,只需要使用者学会如何操作系统就可以简单快速的操作计算机硬件...s.accept() 被动接受TCP客户端连接,(阻塞式)等待连接的到来 客户端套接字 s.connect() 主动初始化TCP服务器连接,。...s.close() 关闭套接字 s.getpeername() 返回连接套接字的远程地址。返回值通常是元组(ipaddr,port)。 s.getsockname() 返回套接字自己的地址。
实质上,套接字模块允许我们制作,维护和使用一个连接,我们可以尝试连接到我们想要的任何端口,连接到我们想要的任何地址,我们也可以使用这些连接来回发送信息。...第1步:建立客户端套接字 现在,当我说我们将成为客户端时,我的意思是我们要请求并启动连接,首先,我们需要导入套接字模块,然后我们要创建一个套接字对象。...第2步:连接到服务器 现在我们有了socket,我们可以将它连接到服务器上,我们将在这里与127.0.0.1(localhost)建立连接,为了连接到对方的地址,我们需要使用connect方法,当我们使用这个方法时...这两个都需要写在一个元组中,现在连接我们的套接字: >>> s.connect((‘localhost’, 80)) 现在我们的套接字已连接,我们可以通过它发送和接收数据。...总结 今天我们学习了socket模块的基础知识。这些基础知识包括如何构建客户端套接字,如何与该套接字建立连接以及如何通过该套接字发送和接收数据。 还有很多内容需要报道,但我们会在下一篇文章中完成。
所以,在TCP通信过程中,一般都是由客户端发起请求,服务器端相应请求。 那么,在windows/linux下,是如何进行这方面的编程的?...简单来说,是个函数,用来创建套接字。 那么,套接字又是什么鬼?...为了防止本篇日志闲扯太多,我尽量简单说,根据字面意思,socket字面意思是(电源)插座,而套接字本质上是一种网络编程接口,用来完成两个应用程序之间的数据传输。...你是谁——ESP8266,8266连接家里路由成功之后,会自动获得一个IP,这是客户端IP 你要和谁连接——因为是在我电脑上使用网络调试助手模拟TCP服务器端,所以服务器端的IP是我电脑的IP...注:本例程里提到的大部分函数,都参照手册2c-esp8266_sdk_api_guide_cn_v1.5.4。
领取专属 10元无门槛券
手把手带您无忧上云