C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C#为什么没有这个关键字呢?怎么实现这个功能?其实C#只是没有了这个关键字,但是功能是能实现的,而且也是非常方便,并且是安全的.网上有人用StructLayout特性来实现union,也确实是实现了一些功能.比如:C/C++:    union {        unsigned char ch    …
最近无法通过SSH连接Linux服务器,访问该服务器上的HTTP服务也出现异常.可以ping,但是telnet端口超时,网站wget超时,访问超时. 最后排查是内核配置问题 原来是 net.ipv4.tcp_timestamps 设置了为 1 ,即启用时间戳 cat /proc/sys/net/ipv4/tcp_timestamps 这时将其关闭 修改 /etc/sysctl.conf 中 net.ipv4.tcp_timestamps = 0 sysctl -p 生效 原理: 问题出在了 tc…
今天圈里的一个朋友在配置完nfinx80端口转发到5000后,发现一个问题 问题描述: 正确配置了Nginx80端口转5000端口,在CentOS上把.Net core WebAPI站点上传到centos  运行并在5000端口打开后,在putty中curl 5000端口可以正常返回,在电脑上访问该虚拟机地址却返回502错误.如果不修改nginx配置文件,访问该虚拟机地址却正常出现了nginx的页面.排除了各种可能原因未果,最终,找到解决办法. 原因:SELinux配置问题 什么是SELinux…
前言 决心要花费宝贵时间写下这篇心得,是因为从昨天晚上到今天上午被这个VMWare模拟搭建的服务器集群不能上外网的问题搞得很心烦,最后决定跟它杠上了!上午还通过远程连接得到了“空白”同学的帮助,在此表示十分感谢.虽然到今天中午的时候经过帮助能上外网了,但是自己感觉还是没有彻底弄懂,对三种模式下的网络结构还是一知半解,上网查了很多资料,但是发现网上很多文章有许多误导.于是自己又从VMWare的三种模式出发,查资料,最后终于算是捋顺了. 写下这篇文章,一是让自己的逻辑得到锻炼,二是希望能帮到部分同学…
背景:对vps小资源的实践中对,https://justwinit.cn/post/7536/ 的再优化,再实践,再优化,特别是Nginx,PHP,内核: 零)Nginx: error_log /data/logs/nginx_error.log notice; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 51200; PHP:…
Linux下安装jdk java -version 不是自己所需要的版本 设置环境变量,这是最重要的 在etc/profile文件下添加 export JAVA_HOME=/usr/java/jdk1.8.0_131 export PATH=$JAVA_HOME/bin:$PATH 温馨提示,修改配置文件前先bak一份吧,在你没有把握的情况下,以免改错了,影响其他功能,而又恢复不了. 如果你不想重新系统,可以用命令source /etc/profile使配置文件立即生效.否则只能重启系统才能使配…
问题描述:安装jdk1.8之后,输入java -version查看安装是否成功之后,报错:   报错如下: Error: dl failure on line 893 Error: failed /usr/java/jdk1.8.0_144/jre/lib/i386/client/libjvm.so, because /usr/java/jdk1.8.0_144/jre/lib/i386/client/libjvm.so: cannot restore segment prot after re…
Linux GCC中,如果lib a依赖b,b又依赖a,链接的时候无论a放在前,还是b放在前,都会提示unrefrence. 解决办法就是: 链接的时候a链接两次,即: -la -lb -la…
1.登录服务器,打开vsftp.conf文件 # vim /etc/vsftpd/vsftpd.conf 2.在文件末尾增加listen_port=8021 #remote_charset=CP1251 # # Enable this options if you have double "я" # #double_377= listen_port=8021 3.打开/etc/services文件 # vim /etc/services 4.找到ftp选项并将21修改成你设置的端口,本…
1.登录服务器,打开sshd_config文件 # vim /etc/ssh/sshd_config 2.找到#Port 22,默认是注释掉的,先把前面的#号去掉,再插入一行设置成你想要的端口号,注意不要跟现有端口号重复 # The strategy used for options in the default sshd_config shipped with# OpenSSH is to specify options with their default value where# poss…
参考:http://jingyan.baidu.com/article/c1a3101e878dcede656deb05.html 参考2:http://www.haoid.cn/post/261 现在不少机房做了禁ping,但我们需要了解本地与机房连接速度怎么样就不好搞了,现在告诉你个小窍门,机房禁ping也能ping通,这里需要用到个小工具就是tcping,下面就为大家介绍下如何ping通禁ping的服务器. 首先需要就是下载这个小工具tcping.exe,文章结尾处会提供这个小工具下载.…
转自http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provider for Oracle提供的,这里建议不使用此接口进行链接.通过该访问接口建立的链接服务器在进行查询orac…
由于端口被占用,使用 win+r 运行 cmd 输入netstat -ano 可以看到端口被PIF 4占用,可以找到对应的进程NT kernel& System 该进程是Http.sys,是http API的驱动组件,Http栈服务器,如果端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行. 可以按照如下步骤禁用http.sys: 1.net stop http   -----可以看到很多关联的服务 2.sc config httpstart = disabled  …
一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provider for Oracle提供的,这里建议不使用此接口进行链接.通过该访问接口建立的链接服务器在进行查询oracle表(带数据类型CLOB.BLOB字段)时会报这个错误 “链接服务器""的 OLE DB 访问接口…
在使用linux的过程中有时候会忘记root用户的密码(尤其是进行交接而文档内容不全的时候),这个时候我们就可以进入单用户模式来重置root用户密码.下面来讲解重置root密码的方式,也可以说是破解root密码的方式. 百牛信息技术bainiu.ltd整理发布于博客园 1. 重启服务器,在读秒的时候按任意键,就会出现如下界面 在此界面中按下键盘中的‘e’,从而进入grub模式 2.在1中按下e就会进入到如下界面. 将光标移动到kernel那一行,然后再一次按‘e’,进入kernel该行的编辑界面…
有的朋友在做用户维护字段的界面时,肯定发现一个问题,当用脚本:ALTER TABLE 表名 DROP COLUMN 字段名进行删除字段的操作时,会出现“服务器: 消息 5074,级别 16,状态 1,行 1 ”的错误,这是因为字段有了默认值,不过可以通过清除掉默认值的存储过程来进行这个操作,但如果在删除字段前,强行运行sp_unbindefault '表名.字段名'这样的操作,如果字段没有默认值,却会产生一个异常,虽然不会影响操作的结果,但这样会让用户摸不着头脑.为了解决这个矛盾的问题,有一个办…
我碰到过两台电脑有这个问题.打百度的ip可以,但打网址不行.我记得是某个木马改动了三个dll文件,然后你电脑删了该木马,却没有恢复那三个dll所致.你google下dns恢复,注册dll关键字,一共要重新注册3个.注册完就好了.今天发现电脑上被360扫出几个恶意程序,我就随手给清除了,后来上网时才发现网页无法打开了,提示什么无法打开搜索页,用另一台电脑在网上找了半天,发现了一个可以医好的方法,省下了装系统,现分享给大家. 我的电脑在cmd下可以ping通DNS地址,可以ping通baidu的IP…
故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是在windows平台下写的,换行符与Linux不同,造成脚本不能正确执行 出现bad interpreter:No such file or directory(没有那个文件或目录)的原因,是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在vim下面如果不Set一下又完全看不出来. 问题分析:1.将windows 下编写好的SHELL文件,传到linux下执行,提示出错.2.出…
一.其它选项菜单=>phpStudy设置=>端口常规设置(勾选允许目录列表): 二. Apache http端口:80 网站目录:D:\phpStudy\PHPTutorial\WWW 默认首页:index.html index.php index.htm l.php 更改为 Apache http端口:80 网站目录:D:\server 默认首页:index.html index.php index.htm 三.配置好后重启下phpstudy,否则不生效. 修改网站根目录后,localhos…
大概是前俩天吧,发现公司的网站不定时的出现接口调不通的情况,便让手下小弟去服务器上查看一下,小弟告我磁盘空间满了,于是我让他处理一下.结果没想到他直接把 catlina.out 给干掉了.后果可想而知,磁盘空间还是一直是100%,无法使用,他还一脸蒙蔽.大概情况就是这样,下面说一下我解决的过程. 因为catlina.out 是tomcat 的输出日志,只要运行就会有日志输出,所有不能直接删除,要去清空.即当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中.这意味着…
出现这个问题的原因是因为没有配置.bash_profile的问题,或者是我们不小心清空或删除了.bash_profile文件. 办法一:修改 ~/.bash_profile文件 步骤如下: vim ~/.bash_profile (不用管.bash_profile这个文件有几个,自己新建一个也是可以的) 在最后加上 export PS1='[\u@\h \W]\$' 然后执行 source ~/.bash_profile 这样shell就可以显示路径了. 方法二:拷贝新用户到root用户 -ba…
error: Zip file too big (greater than 4294959102 bytes)错误解决办法.zip文件夹大于4GB,在centos下无法正常unzip,需要使用第三方工具来解压,比如7zip在SHH或者终端下输入:yum –y install p7zip(如果提示找不到资源,则要自己下载编译安装,命令如:)wget http://nchc.dl.sourceforge.net/sourceforge/p7zip/p7zip_4.65_src_all.tar.bz2…
编译memcached时,报错没有libevent,于是下载libevent,configure , make && make install ,然后在重新安装memcache成功之后.memcached默认安装在/usr/local/bin/目录下. 执行命令 ./memcache -help 报错: [root@localhost bin]# ./memcached ./memcached: error : cannot open shared object file: No such…
1)管理器不会主动刷新,需要手工刷新一下才能看到最新状态(性能方面的考虑) 2)很少情况下,恢复进程被挂起了.这个时候假设你要恢复并且回到可访问状态,要执行:  RESTORE database   dbname with recovery 这使得恢复过程能完全结束. 3)如果你要不断恢复后面的日志文件,的确需要使数据库处于“正在还原状态”, 这通常是执行下面命令:  RESTORE database dbname with norecovery…
cp -f 还是提示 root# alias 可以看到,执行cp就等于执行了cp -i,-i是确认提示 alias cp='cp -i' root# vi ~/.bashrc 修改完毕Esc, :wq保存,再退出重新登陆一次就可以了.…
安装yum -y install readline-devel,然后在重新编译python…
PATH改错了找不到命令 解决方法: 重新定义PATH export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin…
1,依次尝试了关闭防火墙,关闭杀毒软件,手动设置DNS都没有用. 2,最后通过这个cmd命令搞定,特此记录一下,重置初始化网络环境. netsh winsock reset 补充,上面的命令,重启电脑后确实可以上网了.但是下次启动电脑后,依然有问题,最后我发现子网掩码和网关为192.168.1.253,正常情况应该是192.168.1.1,于是重启了两次路由器,终于正常了,希望不要出问题了.…
解决方法:右键点击的当前project—>properties—>C/C++ Build—>Settings—>Tool Settings选项卡—>GCC C Linker—>Command文本框g++后面添加 -lthread参数即可. 原因:-lpthread是老版本的gcc编译器用的,在新版本中应该用-pthread取代-lpthread 具体如下图所示:…
因路由黑洞或其它原因造成自己域名或外网IP的解决办法: vi /etc/hosts 添加一行: 10.28.86.250 www.edusoa.com 保存退出.…