套接字

网络编程-echo服务器

。_饼干妹妹 提交于 2019-12-22 03:30:20
代码: 1 #coding="utf-8" 2 #name=echo服务器 3 from socket import * 4 5 #1.创建套接字 6 udpSocket = socket(AF_INET,SOCK_DGRAM) 7 8 #2.绑定本地的相关信息 9 bindAddr = ("",7890) 10 udpSocket.bind(bindAddr) 11 12 13 num = 1 14 while True: 15 16 #3.等待接受对方发送的数据 17 recvDate = udpSocket.recvfrom(1024) 18 19 #4.将接受到的数据再发送给对方 20 udpSocket.sendto(recvDate[0],recvDate[1]) 21 22 #5.统计信息 23 print("已经将接受到的第%d个数据返回给对方,内容为:%s"%(num,recvDate[0])) 24 num+=1 25 26 #6.关闭套接字 27 udpSocket.close() 来源: https://www.cnblogs.com/fjfan/p/10770970.html

JAVA 网络编程 TCP

风格不统一 提交于 2019-12-22 01:39:25
TCP ket套接字 Socket套接字是基于TCP/IP协议的编程接口,用于描述IP地址和端口。 应用程序通常通过Socket套接字向网络发出请求或应答网络请求。 ServerSocket类 JAVA中的网络编程是通过ServerSocket类和Socket类结合完成的。 ServerSocket类是应用在服务端的类,一般用来监听指定的端口并接收客服端的请求。 在服务端,由ServerSocket类负责实现服务器套接字。 ServerSocket对象监听指定的端口,端口是可以任意指定的。 注意:1024一下的端口为系统保留端口,因此不可以随意使用,应该使用大于1024的端口号,而且同一台主机上的同一个端口号只允许分配给一个特定的 ServerSocket类。 Socket类 Socket类表示套接字。使用Socket时,需要指定待链接服务器的IP地址及端口。 客户端创建Socket对象后,将马上向指定的IP地址及端口发起请求并且尝试连接。 服务端套接字就会创建新的套接字对象,时其与客户端套接字连接起来。 流程图 建立联系三次握手 终止联系进行四次握手 步骤 服务器: 1.创建套接字描述符(socket) 2.设置服务器的IP地址和端口号(需要转换为网络字节序的格式) 3.将套接字描述符绑定到服务器地址(bind) 4.将套接字描述符设置为监听套接字描述符(listen)

memcached 源码阅读笔记

允我心安 提交于 2019-12-21 23:28:15
阅读 memcached 最好有 libevent 基础, memcached 是基于 libevent 构建起来的. 通由 libevent 提供的事件驱动机制触发 memcached 中的 IO 事件. 个人认为, 阅读源码的起初最忌钻牛角尖, 如头文件里天花乱坠的结构体到底有什么用. 源文件里稀里哗啦的函数是做什么的. 刚开始并没必要事无巨细弄清楚头文件每个类型定义的具体用途; 很可能那些是不紧要的工具函数, 知道他的功能和用法就没他事了. 来看 memcached 内部做了什么事情. memcached 是用 c 语言实现, 必须有一个入口函数 main() , memcached 的生命从这里开始. 初始化过程 建立并初始化 main_base, 即主线程的事件中心, 这是 libevent 里面的概念, 可以把它理解为事件分发中心. 建立并初始化 memcached 内部容器数据结构. 建立并初始化空闲连接结构体数组. 建立并初始化线程结构数组, 指定每个线程的入口函数是 worker_libevent() , 并创建工作线程. 从 worder_libevent() 的实现来看, 工作线程都会调用 event_base_loop() 进入自己的事件循环. 根据 memcached 配置, 开启以下两种服务模式中的一种: 以 UNIX 域套接字的方式接受客户的请求 以

python之路_网络协议及套接字socket

痴心易碎 提交于 2019-12-21 09:14:06
一、网络协议基础篇   一台完整的计算机由硬件、系统、软件组成,具备这三个条件,计算机就可以运行,但是只能自己和自己玩。为了实现计算机和计算机间的连接,就需要借助互联网,如全世界人类交流将英语作为标准语言一样,计算机间的交流也需要这样一个标准,即互联网协议。 1、互联网的本质   互联网的本质就是一系列的协议,总称互联网协议(internet protocolsuite),互联网的协议的功能是:定义计算机如何接入internet,以及接入internet的计算机的通信标准。 2、osi七层协议   互联网协议按照功能不同分为osi七层或者tcp/ip五层或者tcp/ip四层。从下往上接近用户,从上往下接近硬件,具体如下示意图: 3、tcp/ip五层模型讲解   清楚了每层的主要协议,就理解了整个互联网通信的原理。首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解。 (1)物理层   物理层由来:上面提到,孤立的计算机之间要想一起玩,就必须接入internet,言外之意就是计算机之间必须完成组网;物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0。 (2)数据链路层   数据链路层由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思。数据链路层的功能

网络编程1 网络开发基础(Socket、TCP、UDP)

狂风中的少年 提交于 2019-12-21 03:40:02
OSI七层网络模型 1.网络的七层结构:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 2.在网络通信的发送端,其通信数据每到一个通信层,都会被该层协议在数据中添加一个包头数据。而在接收方恰恰相反,数据通过每一层时都会被该层协议剥去相应的包头数据。 TCP/IP 1.IP地址 IP地址是指互联网协议地址(Internet Protocol Address,又译为网际协议地址)。IP地址时IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一个主机分配一个逻辑地址,以此来屏蔽物理地址的差异。 2.Port 端口号:为了区分不同的网络程序,计算机会为每一个· 网络程序分配一个独一无二的端口号,端口是一个虚拟的、逻辑上的概念。 for example:Web服务的端口号是80,FTP服务的端口号是21,SMTP服务的端口号是25。 3.TCP/IP通信协议的网络层次结构 应用层 运输层 网际层IP 网络接口层 4.TCP/IP协议的特性 1.封包交换网络服务 2.可靠流传输服务 3.独立网络技术 4.通用互连 5.端到端应答式 6.标准应用协议 5.TCP/IP中的各种协议 1.IP协议 IP协议是网络层协议,主要职责是把数据从源地址传送到目的地址,并提供两个基本功能--寻址和分段 IP协议提供的是不可靠无连接的服务 2.TCP协议

python之-- socket 基础篇

╄→尐↘猪︶ㄣ 提交于 2019-12-21 01:18:38
socket 网络模块 注意事项:在python3中,所有数据的传输必须用bytes类型(bytes只支持ascii码)所以在发送数据的时候要么在发送的字符串前面加 'b',要么使用encode('utf-8')进行转换成bytes类型发送,但是在接收端必须用decode()进行转码。 1、Socket 类型 套接字格式: socket(family,type[,protocal]) 使用给定的地址族(网络层)、套接字类型(传输层)、协议编号(默认为0)来创建套接字。 socket类型 描述 socket.AF_UNIX 只能够用于单一的Unix系统进程间通信 socket.AF_INET 服务器之间网络通信 socket.AF_INET6 IPv6 socket.SOCK_STREAM 流式socket , for TCP socket.SOCK_DGRAM 数据报式socket , for UDP socket.SOCK_RAW 原始套接字,普通的套接字无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以;其次,SOCK_RAW也可以处理特殊的IPv4报文;此外,利用原始套接字,可以通过IP_HDRINCL套接字选项由用户构造IP头。 socket.SOCK_SEQPACKET 可靠的连续数据包服务 创建TCP Socket: s= socket.socket

C++网络编程基础

妖精的绣舞 提交于 2019-12-20 22:40:17
1.套接字(Sockets)   套接字分为流套接字和数据报套接字。   流套接字提供双向有序无重复且无记录边界的数据流服务,它适用于处理大量数据。是面向连接的,通信双方进行数据交换之前,必须建立一条路径。   数据报套接字支持双向的数据流,但并不保证传输的可靠性有序性和无重复性。数据报套接字是无连接的。 2.Winsock的启动和终止   Winsock的服务是以动态链接库Winsock DLL形式实现的,所以必须先调用WSAStartup函数对Winsock DLL进行初始化,设定版本号,并分配必要资源。WSAStartup函数原型如下: int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData); 其中wVersionRequested用于指定Winsock库的版本,通常高位字节指定副版本,低位字节则是主版本。然后用宏MAKEWORD(X,Y)(X为高位字节,Y是低位字节)获取wVersionRequested的正确值。lpWSAData参数是指向LPSWSADATA结构的指针,该结构包含了加载库版本有关的信息,它的格式如下: typedef struct WSAData{   WORD      wVersion;  //Winsock版本   WORD      wHightVersion;   char     

HTTP手记

安稳与你 提交于 2019-12-20 20:50:32
---------------------tcp/ip模型和osi模型--------------------- tcp/ip协议模型 osi模型 应用层      应用层         表示层         会话层 传输层      传输层 网络层      网络层 链路层      数据链路层         物理层 ---------------------交换机--------------------- 1、网络交换机介绍: 网络交换机(又称“网络交换器”),是一个扩大网络的器材,能为子网络中提供更多的连接端口,以便连接更多的计算机 具有性能价格比高、高度灵活、相对简单、易于实现等特点 以太网技术已成为当今最重要的一种局域网组网技术,网络交换机也就成为了最普及的交换机 2、交换机的作用: 转发过滤:当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播帧则转发至所有端口) 学习功能:以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中 ---------------------路由器--------------------- 1. 路由器简介 路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络

Java网络编程

女生的网名这么多〃 提交于 2019-12-20 04:04:48
OSI模型包含7个层次: (1)物理层(Physical Layer)     物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。 物理层的作用是通过传输介质发送和接收二进制比特流。 (2) 数据链路层 (Data Link Layer)     数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧。 (3)网络层(Network Layer)     网络层是为传输层提供服务的,传送的协议数据单元称为 数据包 或分组。该层的主要作用是解决如何使数据包通过各结点传送的问题。 (4)传输层(Transport Layer)     传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只    是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。     传输层传送的协议数据单元称为段或报文。 (5)会话层(Session Layer)     会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止 应用程序 之间的会话。 (6)表示层(Presentation Layer)     表示层处理流经结点的数据编码的表示方式问题

Java高并发网络编程(一)

孤者浪人 提交于 2019-12-20 04:00:46
一、OSI网络七层模型 因特网是一个极为复杂的网络,分层有助于我们对网络的理解 。分层也是一种标准,为了使不同厂商的计算机能够互相通信,以便在更大范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。 ISO组织制定了OSI网络七层模型 应用层 表示层 会话层 传输层 网络层 链路层 物理层 而因特网只用到了五层 应用层 传输层 网络层 链路层 物理层 低三层: 屏蔽底层网络的复杂性 物理层:使原始的数据比特流能在物理介质上传输。 数据链路层:通过校验、确认和反馈重发等手段,形成稳定的数据链路。(01010101) 网络层:进行路由选择和流量控制。(IP协议) 传输层:提供可靠的端口到端口的数据传输服务(TCP/UDP协议)。 高三层: 会话层:负责建立、管理和终止进程之间的会话和数据交换。 表示层:负责数据格式转换、数据加密与解密、压缩与解压缩等。 应用层:为用户的应用进程提供网络服务。 网络通信协议 二、传输层控制协议TCP 传输层控制协议(TCP)是Internet一个重要的传输层协议。TCP提供面向连接、可靠、有序、字节流传输服务。应用程序在使用TCP之前,必须先建立TCP连接。 1.TCP握手机制 检测网络是否通畅 三、用户数据报协议UDP 用户数据报协议UDP是Internet传输层协议。提供无连接、不可靠、数据尽力传输服务。 TCP和UDP比较 四