
网络编程
文章平均质量分 62
UU_Yang
这个作者很懒,什么都没留下…
展开
-
C++C#等编程控制IIS进程池
C++、C#及bat脚本控制IIS进程池启动、停止、回收原创 2022-09-06 17:06:28 · 648 阅读 · 0 评论 -
IIS 7管理API——Microsoft.Web.Administration介绍
Microsoft.Web.Administration.dll位于IIS的目录(%WinDir%\System32\InetSrv)下,在项目中添加对其的引用后您就可以使用这些API了。下图显示了Microsoft.Web.Administration.dll中的主要对象。还有一个有用之处是Microsoft.Web.Administration提供了对*.config(例如web.config)文件的编辑功能,让您再也不用像修改普通XML文件一样修改*.config了。转载 2022-09-06 15:08:14 · 473 阅读 · 0 评论 -
VC,C#创建IIS站点,应用程序池 ADSI
【代码】VC,C#创建IIS站点,应用程序池 ADSI。转载 2022-09-06 14:40:19 · 537 阅读 · 0 评论 -
服务器出现大量 TIME_WAIT,如何解决
某些情况,TCP 报文可能会延迟到达,为了避免迟到的 TCP 报文被误认为是新 TCP 连接的数据,需要在允许新创建 TCP 连接之前,保持一个不可用的状态,等待所有延迟报文的处理。:理论上服务端可以建立很多连接,虽然只需监听一个端口但会把连接扔给处理线程,所以当服务端出现大量 TIME_WAIT 时,系统资源被占满时,会导致处理不过来新的连接。根据上边的分析,TIME_WAIT 状态出现在 TCP 四次挥手中主动关闭连接方发送完最后一次挥手(ACK 的信号结束后),主动关闭连接方所处的状态。...转载 2022-08-26 16:33:18 · 9605 阅读 · 1 评论 -
Libcurl在Windows平台仅用Http模块的静态库编译和使用
Libcurl在Windows平台仅用Http模块的静态库编译和使用原创 2022-08-15 14:38:35 · 476 阅读 · 0 评论 -
深入理解Netty高性能网络框架
编者荐语:万字长文,适合收藏,慢慢品赏,让我们再次加强网络IO知识(打好坚实的基础)以下文章来源于bin的技术小屋 ,作者binbin的技术小屋.专注源码解析系列原创技术文章,分享自己的技术感悟。谈笑有鸿儒,往来无白丁。无丝竹之乱耳,无案牍之劳形。斯是陋室,惟吾德馨。大家好,今天我们来聊聊Netty的那些事儿,我们都知道Netty是一个高性能异步事件驱动的网络框架。它的设计异常优雅简洁,扩展性高,稳定性强。拥有非常详细完整的用户文档。同时内置了很多非常有用的模块基本上做到了开箱即用,用户只需要编写短短几行代转载 2022-06-06 14:49:21 · 639 阅读 · 0 评论 -
关于服务端的FIN_WAIT2
服务端开启了TCP服务,客户端连接,正常的情况下当服务端closesocket后向客户端发送FIN,客户端回应ACK,此时服务端进入FIN_WAIT2状态,等待客户端发送FIN然后进入CLOSED。这时,客户端还可以send一次数据,send完后,服务端收到后就会向客户端发送RST并进入CLOSED若客户端始终不发送数据,并且也不Close,那么服务端的FIN_WAIT2会持续要一个默认超时(一般是60s),这个种残留链接太多的时候可能会消耗服务端资源,降低性能,甚至无法正常工作。我们可以使用S原创 2022-01-06 14:56:14 · 1929 阅读 · 0 评论 -
(转)Linux IO模式及 select、poll、epoll详解
转自:https://segmentfault.com/a/1190000003063859注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。一 概念说明在进行解释之前,首先要说明几个概念:- 用户空间和内核空间- 进程切换- 进程的转载 2021-12-30 11:00:32 · 194 阅读 · 0 评论 -
inet_ntop使用注意事项
windows平台,用C++写了一个控制台模式的网络服务程序,开启TCP监听,等待客户端连接后推送数据,结构并不复杂。等写好程序本地测试OK,等发布到服务器上运行时,发生了诡异的现象,弹出控制台窗口后,程序就被阻塞了……为了搞清楚阻塞在哪个位置,在一些可疑之处cout输出,结果一个都没有显示。后来再发布调试版,连main的第一行cout都没输出,开始怀疑人生了……于是将所有代码逻辑屏蔽,只留一个空壳和cout输出,没有任何问题,看来还是代码导致,就这样,一点点放开代码,最后定位到inet原创 2021-01-15 18:35:19 · 1026 阅读 · 0 评论 -
System.Web.Mail 和 System.Net.Mail发送邮件的一些总结
1 微软自带的两个类库System.Web.Mail 和 System.Net.Mail都可以实现基本邮件发送。 Web.Mail时间较早,微软推荐用Net.Mail替代,提供了更丰富的功能接口。2 Net.Mail的最大不足是不支持Implicit SSL 方式发送邮件,这在使用很多邮件服务时发邮件失败!3 Web.Mail发送附件时只能用文件路径构造附件,不能用数据流,而Net.Mail支持流的方式4 另外还可以使用微软的CDO组件发送邮件,支持Implicit SSL,但附件的构造..原创 2020-12-31 10:47:07 · 5061 阅读 · 1 评论 -
关于SMTP协议邮件的编码
节选自https://blog.youkuaiyun.com/bripengandre/article/details/21910483.3.邮件首部的扩充首部通过两种编码方式来支持传送非7位ASCII码。它首先通过一个如下格式的编码字来表明所用的编码方式。=?charset?encoding?encoded-text?textcharset是字符集规范。有效值是两个字符串us-ascii和iso-8859-x,其中x是一个单个数字,例如iso-8859-1中的数字为“1”。encod...转载 2020-12-31 10:28:41 · 2932 阅读 · 0 评论 -
(C++)UrlEncode的标准实现
关于UrlEncode的实现(C++),网上有很多不同的版本,对需要编码的字符集的选取并不统一。那么到底有没有标准呢?答案是有的,参见wiki 绝对不编码的,只有字母、数字、短横线(-)、下划线(_)、点(.)和波浪号(~),其他字符要视情况而定,所以一般性的urlencode只需保留上述字符不进行编码。 下面给出实现:unsigned char ToHex(uns...转载 2018-07-25 09:42:44 · 1583 阅读 · 0 评论 -
使用WinInet函数简单实现FTP客户端
#include <WinInet.h>#pragma comment(lib, "WinInet.lib")bool FTPUpload(const string& strFtpHost, int nPort, const string &strUser, const string &strPwd, const string& strLoca...原创 2018-04-27 14:57:32 · 1443 阅读 · 0 评论 -
TCP协议要点和难点全解
转自:http://www.codeceo.com/article/tcp-diffcult.html说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快转载 2016-03-09 10:34:43 · 974 阅读 · 0 评论 -
TCP协议疑难杂症全景解析
转自 :http://blog.youkuaiyun.com/dog250/article/details/6612496说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解转载 2015-04-03 16:39:32 · 740 阅读 · 0 评论 -
游戏服务器:到底使用UDP还是TCP
转自:http://blog.jobbole.com/64638/在编写网络游戏的时候,到底使用UDP还是TCP的问题迟早都要面对。一般来说你会听到人们这样说:“除非你正在写一个动作类游戏,否则你就用TCP吧” 或者是 “你能够在MMO游戏中用TCP,因为魔兽世界就用的TCP!”遗憾的是,这些观点都没有反映这个问题的复杂性。背景首先,说明一下,我之前主要是用TCP进转载 2015-04-03 16:59:34 · 1064 阅读 · 0 评论 -
浅析:setsockopt()改善程序的健壮性
转自:http://topic.youkuaiyun.com/t/20041126/20/3592436.html 不断的收到coolmei25 (梅生)的答谢,我都不好意思了(我都没帮到他),下面写出我在网络编程中的一点心得体会,希望对他(^_^也对大家)有帮助: 【1】. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocke转载 2010-03-31 12:47:00 · 865 阅读 · 0 评论 -
完成端口(I/O completion)
转自:http://blog.youkuaiyun.com/hyuantian/archive/2009/11/12/4801677.aspx完成端口(I/O completion):异步过程调用(apcs)问题: 只有发overlapped请求的线程才可以提供callback函数(需要一个特定的线程为一个特定的I/O请求服务)。 完成端口(I/O completion)的优点:转载 2010-04-22 16:40:00 · 873 阅读 · 1 评论 -
TCP三次握手/四次挥手
<br />【转载自:http://www.programfan.com/blog/article.asp?id=44384】<br /> <br />在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示。<br />(1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。<br />(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),转载 2010-07-07 13:44:00 · 1069 阅读 · 0 评论 -
Nagle算法TCP_NODELAY和TCP_CORK
坐公交车,最近在看《网络游戏Server编程》,里面提到了Nagle算法和socket的TCP_NODELAY选项,不是很了解,所以百度了一下,查到以下资料,并收藏。 下面摘自:http://hi.baidu.com/zzcqh/blog/item/15f78c363985fd390a55a933.htmlNagle算法 TCP_NODELAY和TCP_CORKNagl原创 2010-05-14 17:00:00 · 16286 阅读 · 0 评论 -
CLOSE_WAIT和TIME_WAIT
转自:http://weekend.blog.163.com/blog/static/74689582011329101246108/ TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死转载 2012-01-12 16:58:51 · 1297 阅读 · 0 评论 -
IP校验和详解
转自:http://blog.chinaunix.net/space.php?uid=15085881&do=blog&id=2777757 校验和算法之前一直只知道IP校验和算法反码求和相关的,但具体细节不清楚,今天了解了下。IP校验和主要是用来保证数据(IP包头)的完整性的.它用的算法非常简单,就是反码求和校验.需要注意的是反码求和又叫1的补码(one's compleme转载 2012-01-30 13:44:35 · 972 阅读 · 0 评论 -
Socket总结
转自:http://blog.youkuaiyun.com/zhu_nn/article/details/5701790 很好的总结,收藏啦。 Winsock 的I/O操作:1、 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序。套接字 默认为阻塞模式。可以通过多线程技术进行处理。 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权转载 2012-06-14 10:16:58 · 1763 阅读 · 0 评论 -
一些socket的编程经验
没有逐条实践,先收藏,欢迎交流。转自:http://hi.baidu.com/heixinghai/blog/item/22b1ef02f1f420e408fa9382.html1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bR转载 2012-06-14 10:25:12 · 1425 阅读 · 0 评论 -
非阻塞connect()
说明:本文适用于Windows平台,后面追加一篇适用于Linux平台的转自:http://www.cnblogs.com/shiqgfmj/archive/2010/12/29/1919434.html 非阻塞的socket客户端connect()困扰了一下午。因为是非阻塞,不管是否连接上都直接返回,所以就无法知道什么时候连接上。一开始想到网上找资料,可惜不多。于是MSDN,总算找转载 2012-06-14 16:03:28 · 16472 阅读 · 0 评论 -
socket编程中select的使用
转自:http://linux.chinaunix.net/techdoc/develop/2006/09/08/939732.shtmlSelect在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这转载 2012-06-14 16:28:41 · 1049 阅读 · 0 评论 -
TCP非阻塞accept和非阻塞connect
转自:http://hi.baidu.com/offt/blog/item/8421d2e50740fa39b838201d.html 非阻塞accept当一个已完成的连接准备好被accept的时候,select会把监听socket标记为可读。因此,如果用select等待外来的连接时,应该不需要把监听socket设置为非阻塞模式,因为如果select告诉我们连接已经转载 2012-06-14 16:47:16 · 2607 阅读 · 0 评论 -
Winsock2中WSAAsynSelect()模型各种事件的触发条件
转自:http://www.codesky.net/article/200506/67676.html 使用WSAAsynSelect()模型的关键是要搞清楚各种事件的触发条件,不然会造成读或写数据混乱。 这些事件的触发条件同样适用于CAsyncSocket ======================= [1]FD_READ事件触发条件: 1.在数据到达socket转载 2012-11-13 14:29:52 · 924 阅读 · 0 评论 -
Windows Sockets 2.0:使用完成端口高性能,可扩展性Winsock服务程序
转自:http://blog.youkuaiyun.com/vcbear/article/details/5987翻译说明:完成端口基本上公认为一种在windows服务平台上比较成熟和高效的IO方法,理解和编写程序都不是很困难。目前我正在进行这方面的实践,代码还没有完全调试和评价,只有这一篇拙劣的学习翻译文摘,见笑见笑。翻译这个文章,是因为我近期在学习一些socket服务程序的编写中发转载 2012-11-13 14:54:28 · 1355 阅读 · 1 评论 -
getpeername,getsockname
转自:http://hi.baidu.com/zhaojiang/blog/item/4550b700e362c681e850cd66.htmlgetpeername,getsockname2008-10-27 23:02例子: //server #include #include #include #include #include #include #i转载 2010-03-27 18:25:00 · 1894 阅读 · 0 评论