af

网络基础:socket模块

﹥>﹥吖頭↗ 提交于 2020-04-01 05:36:21
socket:   套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。 基于TCP协议的socket:tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端 socket参数详解: socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None) 创建socket对象的参数说明: family 地址系列应为AF_INET(默认值),AF_INET6,AF_UNIX,AF_CAN或AF_RDS。 (AF_UNIX 域实际上是使用本地 socket 文件来通信) type 套接字类型应为SOCK_STREAM(默认值),SOCK_DGRAM,SOCK_RAW或其他SOCK_常量之一。 SOCK_STREAM 是基于TCP的,有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料传送。 SOCK_DGRAM 是基于UDP的,无保障的面向消息的socket,多用于在网络上发广播信息。 proto 协议号通常为零,可以省略,或者在地址族为AF_CAN的情况下,协议应为CAN_RAW或CAN_BCM之一。 fileno

深信服AF ipsec ikev2 新版本尝鲜(对接Azure)

好久不见. 提交于 2020-03-28 03:27:42
客户需求   1. 深信服AF 对接Azure 云端ipsec vpn 具体配置   Azure 云端配置不做阐述(因为我不会- - 哈哈)   1. Azure云端已完成的基础条件     1.1 基于路由的IKEV2   2. 深信服配置(必须8.0.23版本以后哟)     2.1 新建第三方对接配置                2.2 新增加密数据流          2.3 IKE配置          2.4 IPSEC配置,超时时间需要根据Azure资料修改,我此处使用27000          2.5 如果不出意外,IPSEC已经建立连接了,但是有可能在云端看到的还是未连接的状态,此时只要在本地触发下流量就行了,我使用ping云端地址的方式触发        3. 下面附上Azure建议的参数列表                来源: https://www.cnblogs.com/kailsay/p/12585447.html

Python 08--网络编程 Socket编程

旧街凉风 提交于 2020-03-25 03:48:43
本节内容: Socket语法及相关 SocketServer实现多并发  Socket语法及相关 socket概念 socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实现数据的互相传递。 我们知道网络 通信 都 是基于 ip+port 方能定位到目标的具体机器上的具体服务,操作系统有0-65535个端口,每个端口都可以独立对外提供服务,如果 把一个公司比做一台电脑 ,那公司的总机号码就相当于ip地址, 每个员工的分机号就相当于端口, 你想找公司某个人,必须 先打电话到总机,然后再转分机 。 建立一个socket必须至少有2端, 一个服务端,一个客户端, 服务端被动等待并接收请求,客户端主动发起请求, 连接建立之后,双方可以互发数据。 A network socket is an endpoint of a connection across a computer network . Today, most communication between computers is based on the Internet Protocol ; therefore most network sockets are Internet sockets . More precisely, a socket is a handle (abstract

chapter 16 网络编程

混江龙づ霸主 提交于 2020-03-18 17:18:19
3 月,跳不动了?>>> 套接字:通讯端点 什么是套接字? 书上说的端口是数据结构和I/O缓存区”是指硬件端口,网络编程里的端口可以理解为应用程序的ID。 说得形象点,套接字就类似我们人类的门 我们打开门,通过门外面的人可以进来 我们推开门,里面的人也可以出去 同样,外面的数据可以通过socket把它存储在本地机器的缓冲区里等待本地机器接收 本地机器的数据可以通过socket放在缓冲区里等待发送到对方机器上 当我们把门给关上时,就拒绝了和外面世界的交往。 套接字是一种具有之前所说的“通讯端点”概念的计算机网络数据结构。网络化的应用程序在开始任何通 讯之前都必需要创建套接字。就像电话的插口一样,没有它就完全没办法通讯。 套接字有两种,分别是基于文件型的和基于网络型的。 基于文件型的: Unix 套接字是我们要介绍的第一个套接字家族。其“家族名”为AF_UNIX,由于两个进程都运行在同一台 机器上,而且这些套接字是基于文件的。所以,它们的底层结构是由文件系统来支持的。这样做相当有道 理,因为,同一台电脑上,文件系统的确是不同的进程都能访问的。 基于网络型的 它有自己的家族名字:AF_INET,或叫“地址家族:Internet”。 Python 只支持AF_UNIX,AF_NETLINK,和AF_INET 家族。由于我们只关心网络编程,所以在本章的大部分 时候,我们都只用AF_INET。

neutron api源码分析

南楼画角 提交于 2020-03-07 10:14:03
neutron server的启动setup.cfg内定义neutron-server = neutron.cmd.eventlet.server:main。这里只专注介绍neutron server启动,setup.cfg不在这里详细介绍 # setup.cfg console_scripts = .... neutron-ovs-cleanup = neutron.cmd.ovs_cleanup:main neutron-pd-notify = neutron.cmd.pd_notify:main neutron-server = neutron.cmd.eventlet.server:main main函数主要是运行wsgi_eventlet.eventlet_wsgi_server函数,并进行配置文件和日志的初始化配置 #neutron.cmd.eventlet.server:main from neutron import server from neutron.server import rpc_eventlet from neutron.server import wsgi_eventlet def main(): server.boot_server(wsgi_eventlet.eventlet_wsgi_server) #boot_server函数,为初始化配置

Linux—网络编程(day12)

强颜欢笑 提交于 2020-02-22 03:29:42
一、网络基础知识 二、基于TCP的网络编程 二、基于TCP的网络编程 1、编程中用到的辅助函数 (1)主机字节序和网络字节序的转换   因为数据存储方式涉及大端和小端,不同方式通信时需要转换,网络字节序为大端;可以使用以下函数:   #include<arpa.inet.h>   uint32_t htonl(uint_32_t hostlong);   uint16_t htons(uint_16_t hostshort);   uint32_t ntohl(uint_32_t netlong);   uint16_t nonhs(uint_16_t hostshort);   其中:h代表host,n代表net,l代表long,s代表short (2)具体的网络协议地址空间和通用的网络地址空间的转换。   具体的网络协议族有ipv4,ipv6,local,unix等,各自有各自的地址空间,通用地址空间的类型为 struct sockaddr类型,在bind,accept等函数中都要用此类型做参数,可使用以下函数做转换:    inet_pton(3)   int inet_pton(int af, const char *src, void *dst); 功能:   转换src(点分十进制的地址格式)指定的字符串为网络地址结构到af指定的网络地址家族(即text to

python-网络编程

久未见 提交于 2020-02-19 05:21:44
一、客户端服务器架构 服务器就是一系列硬件或软件,为一个或多个客户端(服务的用户)提供所需的“服务”。它存在唯一目的就是等待客户端的请求,并响应它们(提供服务),然后等待更多请求。 硬件服务器的一个例子就是文件服务器。这些通常都是拥有庞大通用存储容量的计算机,可以被客户端远程访问。客户端计算机会挂载服务器计算机上的磁盘,看起来好像这个磁盘就在本地计算机上一样。 软件服务器提供的主要服务包括程序执行、数据传输检索、聚合、更新,或其他类型的编程或数据操作。现在一个更常见的软件服务器就是 Web 服务器。如果个人或公司想要运行自己的 Web 服务器,那么必须拥有一台或多台计算机,在上面安装希望提供给用户的 Web 页面和 Web 应用程序,然后启动 Web 服务器。 数据库服务器是另一种类型的软件服务器。它们接受客户端的存储或检索请求,响应请求,然后等待更多的事务。 二、客户端/服务器网络编程 在服务器响应客户端请求之前,必须进行一些初步的设置流程来为之后的工作做准备。首先会创建一个通信端点,它能够使服务器监听请求。一旦一个通信端点已经建立,监听服务器就可以进入无限循环中,等待客户端的连接并响应它们的请求。 客户端比服务器端更简单,客户端所需要做的只是创建它的单一通信端点,然后建立一个到服务器的连接。然后,客户端就可以发出请求,该请求包括任何必要的数据交换。 三、套接字

记录利用ffmpeg对录制好的视频文件音量调整

不羁的心 提交于 2020-02-17 03:09:26
如何对MP4文件的音量进行放大 经常遇到比较苦恼的事情就是拿到一个视频文件,播放的时候即使把音量条设置到最大,音量还是小,这个时候,可以用ffmpeg对文件进行修改,重新生成一个播放音量用软件进行放大的文件。 命令格式: ffmpeg -i ~/Desktop/input.mp4 -af “volume=4” -strict -2 output.mp4 这里面主要是利用-af这个过滤器,这个看名字就是音频过滤器的意思,volume=4,意思是放大倍数为4倍,如果要把音量缩小,就可以写小数,比如0.5. -strict -2是因为AAC codec还是实验阶段,必须加上才可以执行。 来源: CSDN 作者: Johnny_Hu2016 链接: https://blog.csdn.net/Johnny_nass_hu/article/details/104341287

windows socket编程

耗尽温柔 提交于 2020-02-12 08:46:05
socket编程是所有协议实现的底层,任何协议都可以用socket来实现。 Winsock启动 winsock服务是以动态链接库Winsock DLL形式实现的,所以必须先对Winsock DLL进行初始化,协商Winsock的版本支持,并分配必要的资源,函数原型为: int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData); 参数wVersionRequested用于指定准备加载的Winsock库的版本,高位字节表示副版本,低位字节表示主版本。 lpWSAData是指向WSADATA类型的指针,该结构中包含了加载的库版本相关信息。WSADATA结构如下: typedef struct WSAData { WORD wVersion; WORD wHighVersion; char szDescription[WSADESCRIPTION_LEN+1]; char szSystemStatus[WSASYSSTATUS_LEN+1]; unsigned short iMaxSockets; unsigned short iMaxUdpDg; char *lpVendorInfo; }WSADATA,*LPWSADATA; 举个例子,想加载主版本副版本都为2的Winsock库: WASDATA WSAData;

touch af_ae && long press af_ae lock

喜欢而已 提交于 2020-02-11 21:21:39
一、 高通代码 1.1 点击操作入口 @Override public void onSingleTapUp(View view, int x, int y) { if (mPaused || !mCamerasOpened || !mFirstTimeInitialized || !mAutoFocusRegionSupported || !mAutoExposureRegionSupported || !isTouchToFocusAllowed() || mCaptureSession[getMainCameraId()] == null) { return; } Log.d(TAG, "onSingleTapUp " + x + " " + y); int[] newXY = {x, y}; if (mUI.isOverControlRegion(newXY)) return; if (!mUI.isOverSurfaceView(newXY)) return; if (mT2TFocusRenderer != null && mT2TFocusRenderer.isShown()) { mT2TFocusRenderer.onSingleTapUp(x, y); triggerTouchFocus(x, y, TouchTrackFocusRenderer.TRACKER