所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象.一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制.从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口. 1.套接字的功能 传输层真正连接的是套接字,通过套接字将数据发送给特定的进程.套接字位于传输层及应用层之间,是一个应用编程接口,应用程序通过调用此接口进行传输接收数据. 传输层如何标识套接字:通过i…
把自己的项目部署到阿里云ecs服务器之后,只有127.0.0.1才能连接到服务器端,检查了阿里云安全组规则,以及socket绑定的地址无误后,发现没有开启服务器防火墙的对应端口. firewall-cmd --add-port=[端口号]/tcp --permanent firewall-cmd --reload 开启对应端口,重启防火墙后,即可正常连接服务器.…
背景: 公司使用阿里云的云数据库MongoDB.基于安全原因考虑,阿里云MongoDB云数据库目前只支持从阿里云ECS上访问,无法通过公网直接访问,不方便用户在本地开发环境里直接进行测试. 阿里云官方推荐使用rinetd搭建跳板系统,实现公网访问云mongo.使用过程中,发现,python程序在使用过程中如果没有正确释放连接,即使python程序退出后,该mongo连接仍然被rinetd占用.曾出现调用该地址的python程序全部退出后,rinetd仍占用100多个连接,导致云mongo可用连接…
基于Udp协议是无连接模式通讯,占用资源少,响应速度快,延时低.至于可靠性,可通过应用层的控制来满足.(不可靠连接) 使用Udp协议通讯需要具备以下几个条件: (1).建立一个套接字(Socket) (2).绑定服务器端IP地址及端口号--服务器端 (3).通过SendTo()方法向指定主机发送消息     (需提供主机IP地址及端口) (4).通过ReciveFrom()方法接收指定主机发送的消息     (需提供主机IP地址及端口) 下面用代码实现简单的服务器---客户端通信 服务器端: u…
pip 提供了对 Python 包的查找.下载.安装.卸载的功能,是非常方便的 Python 包管理工具.但是,令人苦恼的是 pip 在国内的下载速度非常慢,速度常常只有每秒几十 K,甚至才几 K,小点的包还好,还能等,更多的时候,则是完全要把人逼疯的节奏. 这里,咪博士就教大家,如何在 Windows 下,为 pip 设置国内源.设置完成之后,速度可以达到每秒好几 M,快到飞起来.这里我们选用阿里云的国内镜像.毕竟有大金主支持,稳定性有保障. 一.新建 pip 配置文件夹 先在 windows…
前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用.TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Python.TensorFlow.Jupyter开发环境过程中遇到很多问题.这里将具体步骤分享给大家,可以少走很多弯路. 第一步 安装anaconda Anaconda在linux依然功能强大,管理工具包.开发环境.Python版本都非常方便. 先在根目录下创建一个文件夹用于存放Anaconda安装包 ~…
[python版本]3.6 UDP服务器端: from socket import * from time import ctime host = '' port = 21567 buf_size = 1024 addr = (host, port) udpSerSock = socket(AF_INET, SOCK_DGRAM) udpSerSock.bind(addr) while True: print("waiting for message...") data, ADDR =…
说明: 1.[::]:80这个是IPv6的地址. 2.阿里云截至到今天还不支持IPv6. 解决方式: 1.普通解决方式:开启IPv6的支持,不过这个方法在阿里云行不通. vim /etc/nginx/conf.d/default.conf #找到并替换为以下: listen ; listen [::]: ipv6only=on default_server; 2.极端方式:直接屏蔽IPv6,全部服务器都适用. vim /etc/nginx/conf.d/default.conf #找到并替换为以…
#!/usr/bin/python ######################################### # Function: sample linux performance indices # Usage: python sampler.py # Author: CMS DEV TEAM # Company: Aliyun Inc. # Version: 1.1 ######################################### import os impor…
在用Python或dotNET redis客户端连接redis服务器的时候,当你调用客户端的SET方法后同时还想得到其返回的字符串,那么需要处理一下. 1. Redis Python redis客户端:        默认的SET方法返回的数据类型是布尔型的,即True或False,如果需要获取调用SET方法后服务器返回的原始数据,那么需要在客户端对象上调用一下set_response_callback方法即可,于是返回就是redis服务器的数据了 from redis import Redis…