socket

Linux虚拟机--进入MySQL报错的解决办法

让人想犯罪 __ 提交于 2020-01-28 01:20:19
在Linux安装MySQL有时候会出现 [mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 这样的错误 具体解决办法如下: [root@www ~]# rm -rf /var/lib/mysql/* [root@www ~]# rm /var/lock/subsys/mysqld rm: remove regular empty file `/var/lock/subsys/mysqld'? y [root@www ~]# killall mysqld [root@www ~]# service mysqld start [root@www ~]# /etc/rc.d/init.d/mysqld status mysqld (pid 5457) is running... ---------------------------------2--------------------------------- [root@r710-1 /]# mysql -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp

java学习之网络编程

最后都变了- 提交于 2020-01-27 20:19:01
文章目录 TCP通信程序 概述 Socket类 构造方法 成员方法 简单的TCP网络程序 TCP通信分析图解 客户端向服务器发送数据 服务器向客户端回写数据 综合案例 文件上传案例 文件上传分析图解 基本实现 文件上传优化分析 优化实现 模拟B\S服务器(扩展知识点) 案例分析 案例实现 访问效果 TCP通信程序 概述 TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。 两端通信时步骤: 服务端程序,需要事先启动,等待客户端的连接。 客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。 在Java中,提供了两个类用于实现TCP通信程序: 客户端: java.net.Socket 类表示。创建 Socket 对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信。 服务端: java.net.ServerSocket 类表示。创建 ServerSocket 对象,相当于开启一个服务,并等待客户端的连接。 Socket类 Socket 类:该类实现客户端套接字,套接字指的是两台设备之间通讯的端点。 构造方法 public Socket(String host, int port) :创建套接字对象并将其连接到指定主机上的指定端口号。如果指定的host是null ,则相当于指定地址为回送地址。

python获取端口、ip、用户名、mac地址

我是研究僧i 提交于 2020-01-27 18:54:05
python是个功能强大的玩意,既然功能强大,那么就要好好玩 先来简单的获取ip、用户名和mac地址 注:获取局域网ip import uuid # 获取本机mac地址 def get_mac_adderss ( ) : mac = uuid . UUID ( int = uuid . getnode ( ) ) . hex [ - 12 : ] return ":" . join ( [ mac [ e : e + 2 ] for e in range ( 0 , 11 , 2 ) ] ) dd = get_mac_adderss ( ) print ( dd ) import socket #获取本机电脑名 myname = socket . getfqdn ( socket . gethostname ( ) ) #获取本机ip myaddr = socket . gethostbyname ( myname ) print ( myname ) print ( myaddr ) # 获取当前用户名 def user ( ) : import getpass user_name = getpass . getuser ( ) return user_name print ( user ( ) ) 嗯嗯,到这就很完美啦,接下来就要搞端口啦,怎么说呢,本来也是一件很简单的事

node开发socket.io之session 共享

删除回忆录丶 提交于 2020-01-27 08:06:54
node 服务器与 io 服务器之间的session 共享 这篇文章主要说 express4.x 版本的express-session 因为这个版本的express 本身就支持session的共享 直接上代码: app.js 如下: var express = require ( 'express' ) ; var app = express ( ) ; // socket 服务器 var http = require ( 'http' ) . Server ( app ) ; var io = require ( 'socket.io' ) ( http ) ; // session 记录用户登录状态 var session = require ( 'express-session' ) ; var sessionMiddleware = session ( { secret : "keyboard cat" , resave : false , saveUninitialized : true } ) ; io . use ( function ( socket , next ) { sessionMiddleware ( socket . request , socket . request . res , next ) ; } ) ; app . use (

详解tomcat的连接数与线程池

ぃ、小莉子 提交于 2020-01-27 06:33:36
详解tomcat的连接数与线程池 1、Connector的protocol Connector在处理HTTP请求时,会使用不同的protocol。不同的Tomcat版本支持的protocol不同,其中最典型的protocol包括BIO、NIO和APR(Tomcat7中支持这3种,Tomcat8增加了对NIO2的支持,而到了Tomcat8.5和Tomcat9.0,则去掉了对BIO的支持)。 BIO是Blocking IO,顾名思义是阻塞的IO;NIO是Non-blocking IO,则是非阻塞的IO。而APR是Apache Portable Runtime,是Apache可移植运行库,利用本地库可以实现高可扩展性、高性能;Apr是在Tomcat上运行高并发应用的首选模式,但是需要安装apr、apr-utils、tomcat-native等包。 2、如何指定protocol Connector使用哪种protocol,可以通过元素中的protocol属性进行指定,也可以使用默认值。 指定的protocol取值及对应的协议如下: HTTP/1.1:默认值,使用的协议与Tomcat版本有关 org.apache.coyote.http11.Http11Protocol:BIO org.apache.coyote.http11.Http11NioProtocol:NIO org.apache

Python socket编程(1)

白昼怎懂夜的黑 提交于 2020-01-27 05:24:58
IP地址 目的:用来标记网络上的一台电脑 windows和Linux查看网卡信息 在命令行中输入: Linux中 ifconfig windows中 ipconfig IP地址的分类: 端口 端口分类: 1.知名端口(well known ports) 80端口分配给HTTP服务 21端口分配给FTP服务 范围是从0到1023 2.动态端口 动态端口的范围是从1024-65535 socket简介 TCP/IP协议 TCP/IP协议是Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。 TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。 TCP/IP协议 TCP/IP网络模型四层模型从根本上和OSI七层网络模型是一样的,只是合并了几层 socket socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。白话说,socket就是两个节点为了互相通信,而在各自家里装的一部’电话’。 socket的使用

php使用socket.io进行tcp通讯

爷,独闯天下 提交于 2020-01-27 04:56:58
目录 安装socket.io库 启动入口文件 扩展文件 前端连接 启动服务 安装socket.io库 composer require workerman/phpsocket.io 启动入口文件 <?php // [ 应用入口文件 ] namespace think ; // [ 入口文件 ] // 调试模式开关 define ( 'APP_DEBUG' , true ) ; // 定义CMF根目录,可更改此目录 define ( 'CMF_ROOT' , dirname ( __DIR__ ) . '/' ) ; // //// 定义应用目录 define ( 'APP_PATH' , CMF_ROOT . 'app/' ) ; // 定义路由目录 define ( 'ROUTE_PATH' , APP_PATH . 'route.php' ) ; // 定义配置目录 define ( 'CONFIG_PATH' , CMF_ROOT . 'data/config/' ) ; // 定义命名空间 define ( 'APP_NAMESPACE' , 'app' ) ; // 定义网站入口目录 define ( 'WEB_ROOT' , __DIR__ . '/' ) ; // 加载基础文件 require __DIR__ . '/../vendor/thinkphp/base

K8s Ingress 支持socket.io多实例

谁说我不能喝 提交于 2020-01-27 03:58:49
socket.io 多实例间通信 在实际工程中不会只用一个node实例,用户多的时候会需要开多个node实例。这些实例间的通信可以用redis适配器来实现,socket.io官方有个现有的封装 socket.io-redis ,它是利用redis的发布订阅模式来实现的,使用示例如下: const redisAdapter = require('socket.io-redis'); var redis_config = { host: ’127.0.0.1‘, port: 3306, password:'abc' }; io.adapter(redisAdapter(redis_config)); 加载Redis适配器后就可以直接使用io对象了,和单实例的使用方式是一致的。 在k8s Ingress下使用socket.io socket.io官方的例子 是直接利用nginx来实现: http { server { listen 3000; server_name io.yourhost.com; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_pass http://nodes; # enable

重温网络编程(一)

亡梦爱人 提交于 2020-01-27 02:39:39
前言 近日突然发现自己忘记了网络编程,重新拾起一下。 几个概念性东西: 很多时候介绍socket连接通讯的时候,往往是上面这张图。 右边是服务器,左边是客户端。 服务器: 第一步: socket(), 是创建一个socket。这个过程我们使用的语言和操作系统?其实就是和我们调用http请求登录是一样的,会返回一个标识符,操作系统是服务端,我们的程序是客户端。 操作系统内部就做某些东西,可能是创建一个socket,然后返回一个标识码,通过这个标识码,后面调用其他的api,通过传输这个标识符,就可以操作改socket。 第二步:bind(),去绑定ip和port,因为只有通过ip和port才能找到服务器。 第三步: listen(),去监听,这个时候才开始了action。判断是否是这个地址,和端口,就可以创建连接。 第四步:accept(),比如有一个连接来了,操作系统首先帮助我们缓存起来,因为它不知道把这个连接的信息调用给谁,通过accept建立与操作系统的持久性连接,然后操作系统才能源源不断的把连接信息给到我们。 第五步或者第六步:如果没有accept我们的程序是无法收到消息的,但是我们的操作系统肯定是收到了的,毕竟建立了连接。而我们发现接受信息的时候,我们调用的是 recv(hSocket,message,sizeof(message)-1,0),我们和操作系统沟通接收信息

关于 /proc/sys/net/ipv4/下 文件的详细解释

瘦欲@ 提交于 2020-01-27 01:46:17
关于 /proc/sys/net/ipv4/下 文件的详细解释: 1) /proc/sys/net/ipv4/ip_forward 该文件表示是否打开IP转发。 0,禁止 1,转发 基本用途:如VPN、路由产品的利用; 出于安全考虑,Linux系统 默认是禁止数据包转发 的。所谓 转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包 。这通常就是路由器所要实现的功能。 配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能 [root@xuegod70 ~]# less /proc/sys/net/ipv4/ip_forward,该文件内容为0,表示禁止数据包转发,1表示允许,将其修改为1。 [root@xuegod70 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward 修改文件内容, 重启网络服务或主机后效果不再 。若要其自动执行,可将命令echo "1" > /proc/sys/net/ipv4/ip_forward 写入脚本/etc/rc.d/rc.local 或者 在/etc/sysconfig/network脚本中添加 FORWARD_IPV4="YES" 2) /proc/sys/net/ipv4/ip_default_ttl