
TCP/UDP
文章平均质量分 50
cuijinquan
这个作者很懒,什么都没留下…
展开
-
TCP发送文件
//文件传送线程//服务器发送文件,客户端发送文件消息UINT threadSendFile(LPVOID pvar){ CDlgSendMessage *pDlg = (CDlgSendMessage *) pvar; CFile m_fSendfile;m_fSendfile.Close(); if (!m_fSendfil转载 2014-07-08 15:52:54 · 1028 阅读 · 0 评论 -
TCP 端口监听队列原理
TCP 端口监听队列原理近期需要实现一个TCP线程池服务,该服务需要能够在同一个端口上实现 TCP 常规服务、HTTP请求服务、SOAP WebService 服务,为了测试 ACE 的线程池启动后,如果所有线程都在忙,客户端的连接是否还能够建立,特实现了一个简单的测试程序,如下:#include "stdafx.h"//==================转载 2014-01-09 22:38:07 · 2335 阅读 · 0 评论 -
服务端程序线程运行信息管理器
服务端程序线程运行信息管理器 现在的服务端程序都是多线程的并且其中有大量的工作现场,如何知道每一个工作线程都在干什么?在服务端程序实现时必须考虑到一些工作需要耗时较长,甚至可能因为死锁等原因导致一些线程进入了某个调用就退步出来的情况,这个时候增加远程连接对服务端程序内部工作状态的查看功能就必不可少了;本文基于一个服务端程序的线程运行信息管理的实现介绍原理并转载 2014-01-09 22:59:37 · 578 阅读 · 0 评论 -
TCP 协议高级功能和网卡驱动不兼容导致蓝屏的解决方法
TCP 协议高级功能和网卡驱动不兼容导致蓝屏的解决方法上周发现大量服务器上的服务在从客户端接受大的数据包时,会发生系统蓝屏死机的情况,通过大量的测试和调试发现规律如下: 1、接收大于一定量(不同机器不同,一般是 6M)的数据时,服务会卡死在系统的 recv 函数调用中,此时服务无法正常停止,如果杀进程则系统蓝屏 2、一些情况下,在调用 recv 函数接收大数据量时,转载 2014-01-09 22:47:02 · 942 阅读 · 0 评论 -
DoD TCP/IP参考模型
DoD TCP/IP参考模型 DoD(TCP/IP)模型是由網際網路工程任務小組IETF(Internet Engineering task force)根據OSI模型所制定的標準,是TCP/IP協定的網路模型,共分四層LAYER 1:鍵結層Link,相當於OSI模型的第1,2層,實體接線。LAYER 2:網路層Network,相當於OSI模型的第3層原创 2014-01-07 17:43:25 · 1357 阅读 · 0 评论 -
一种在客户端处理多用户并发信令跟踪的方法及系统
一种在客户端处理多用户并发信令跟踪的方法及系统 权利要求 (OCR 文本中可能有错误)权利要求书1、 一种客户端多用户并发信令跟踪处理方法, 其特征在于, 所述方法 包括:根据多用户并发的信令跟踪请求, 信令跟踪客户端生成统一的客户端 信令跟踪请求, 发送给信令跟踪服务端;所述信令跟踪服务端根据所述客户端信令跟踪请求, 将满足请求条件转载 2014-01-07 15:29:39 · 1012 阅读 · 0 评论 -
How to Configure, Install and Use libnefilter_queue on Linux
According to libnetfilter_queue home page, libnetfilter_queue is a userspace library that allows one to retrieve and manipulate the packets that have been queued by kernel packet filter. It is suppose转载 2013-12-22 16:24:35 · 981 阅读 · 0 评论 -
How to Build and Use libnetfilter_queue for Android
If you’re looking for general information about how to use libnetfilter_queue for Linux, please refer here.0. PreparationFirst, you’ll need to check if your Android system kernel is compiled wit转载 2013-12-22 16:27:06 · 711 阅读 · 0 评论 -
如何测试TCP/IP协议栈来修复网络连接故障
在我们修复Windows网络连接时,要确保本地TCP/IP栈没有问题。本文将一步步地指导您进行本地主机连接DNS服务器和默认网关服务器的能力测试,并介绍如何测试主机名解析。在“检查IP配置”中,我阐述了如何确定哪个IP地址是我们的系统使用的主地址。接下来,我们会验证IP地址配置是正常工作的,以及本地TCP/IP堆栈没有问题。首先,我们需要执行的测试是PING本地主机地址。有几种不同转载 2013-12-22 18:07:24 · 557 阅读 · 0 评论 -
Simple TCP Socket Client and Server Communication in C Under Linux
This post doesn’t provide details about how Linux socket works, its design etc. It mainly for providing source code of simple TCP socket client and server in C. I’m writing this because I found myself转载 2013-12-22 16:19:31 · 775 阅读 · 0 评论 -
源码公开的TCP/IP协议栈在远程监测中的应用
1嵌入式TCP/IP协议栈目前,市面上几乎所有的嵌入式TCP/IP协议栈都是根据BSD版的TCP/IP协议栈改写的。在商业嵌入式TCP/IP协议栈大都相当昂贵的情况下,很多人转而使用一些源代码公开的免费协议栈,并加以改造应用。目前较为著名的免费协议栈有:lwIP(LightweightTCP/IPStack)——支持的协议比较完整,一般需要多任务环境支持,代码占用ROM>40KB,转载 2013-12-23 01:05:58 · 506 阅读 · 0 评论 -
How to Calculate IP/TCP/UDP Checksum–Part 3 Usage Example and Validation
This is a follow up of the previous post IP/TCP/UDP Checksum Calculation part 1 theory, and part 2 implementation.This post gives an example using libnetfiler_queue library and the checksum code转载 2013-12-22 16:22:13 · 698 阅读 · 0 评论 -
IOCP服务器/客户端实现
IOCP服务器/客户端实现 (转)——A simple IOCP Server/Client Class By spinoza——译: Ocean Email:原文选自CodeProject源代码: http://www.codeproject.com/KB/IP/iocp_server_client/IOCP-Demo.ziphttp://w转载 2014-01-03 22:57:51 · 1204 阅读 · 0 评论 -
基于ARP欺骗的TCP伪连接D.o.S
基于ARP欺骗的TCP伪连接D.o.S 从某种意义上说,如果能够制造TCP伪连接,那么D.o.S也就比较容易实现了。以前LionD8就曾经用这个思路做出了一个新型D.o.S,而今天,我用的也是这个思路。但是,如果直接伪造TCP三次握手而不作其他任何处理,那却是不行的。因为,当攻击的目标主机接收到我们发过去的伪造的SYN包后会发回一个SYN+ACK包(也就是第二次握手)。而当转载 2013-12-19 23:24:26 · 442 阅读 · 0 评论 -
基于tcpdump实例讲解TCP/IP协议
前言虽然网络编程的socket大家很多都会操作,但是很多还是不熟悉socket编程中,底层TCP/IP协议的交互过程,本文会一个简单的客户端程序和服务端程序的交互过程,使用tcpdump抓包,实例讲解客户端和服务端的TCP/IP交互细节。TCP/IP协议IP头和TCP头格式如下:Internet Header Format 0 1转载 2013-12-26 17:19:36 · 386 阅读 · 0 评论 -
用socket实现服务器的编程总结(转载)
用socket实现服务器的编程总结(转载) 作一个tcp的服务程序,同时可能有大量的客户端连上来,希望分别记住各个socket谁有数据过来,就读出来,放到一个请求队列--这些事情用一个线程完成 另外有一个结果队列,如果结果里包含了socket的编号,用一个线程专门:取出来按编号找回原来发送者socket,发回给原来的客户端 还有一个就是处理线程(池转载 2013-12-26 15:51:26 · 450 阅读 · 0 评论 -
7种网络编程I/O模型代码实现实例
部分代码参考《[WINDOWS网络与通信程序设计].王艳平》,网络中一些I/O模型的代码都没有对socket是否可写做过深入研究,我这边会提供一些解决方法。阻塞模式下,send会发生阻塞(非阻塞模式下send返回WSAEWOULDBLOCK错误,重叠I/O下表现为投递的发送请求一直无法完成)的情况一般可以分为3种 : 1, 服务器虽然发送了大量数据,但客户端并未调用recv函数去转载 2014-01-20 14:37:40 · 941 阅读 · 0 评论 -
完成端口通信例子
代码贴上来以后慢慢修改服务端代码:#include #define BUFFER_SIZE 1024#define OP_READ 18#define OP_WRITE 28#define OP_ACCEPT 38#define CHECK_CODE 0x010110BOOL bStopThread = false;typedef struct _P转载 2014-01-20 14:31:21 · 2094 阅读 · 0 评论 -
Linux网络协议栈分析——从设备驱动到链路层
在网上看到高手总结出来的,省的自己花时间再研究,放到此处以便学习。 原文:http://ericxiao.cublog.cn/ 成都的天气好像越来越好了,前几天还穿着穿着外套直打哆嗦,到今天已经“拨开阴云见太阳”,暖洋洋的,心情也暖洋洋的。暖和的正好想睡觉。打个呵欠,把网络设备管理这部份总结下吧。 Linux素以优秀的网络管理能力而著称,linux转载 2014-01-20 14:39:04 · 996 阅读 · 0 评论 -
完成端口在MSDN中的专题翻译
I/O completion ports provide an efficient threading model for processing multiple asynchronous I/O requests on a multiprocessor system. When a process creates an I/O completion port, the system cr转载 2014-01-20 14:32:26 · 479 阅读 · 0 评论 -
黑马程序员_网络编程示例代码与总结
获取本地主机相关信息: InetAddressip = InetAddress.getLocalHost(); Ip.getHostAddresss();//获得本地IP Ip.getHostName();//获得本机名。获得任意主机对象:InetAddress ip =InetAddress.getByNam转载 2014-01-18 15:01:16 · 588 阅读 · 0 评论 -
基于TCP的通讯程序----基本框架
服务器端#includeWinsock2.h>#includestdio.h>#includestdlib.h>#pragma comment (lib,"ws2_32.lib")//服务器使用的端口号为5050#define DEFAULT_PORT 5050//数据缓冲区长度#define BUFFER_LENGTH 1024void m转载 2014-01-16 15:26:42 · 1147 阅读 · 0 评论 -
消息处理线程
消息处理线程//函数名称:IOThreadProc//函数功能:消息处理的线程//处理对象:核心函数//研究人员:长寿梦 DWORD WINAPI CP2PServer::IOThreadProc(LPVOID lpParam){CP2PServer *pThis=(CP2PServer *)lpParam; char buff[MAX_PA转载 2014-01-16 16:01:19 · 753 阅读 · 0 评论 -
TCP发送文件
//文件传送线程//服务器发送文件,客户端发送文件消息UINT threadSendFile(LPVOID pvar){ CDlgSendMessage *pDlg = (CDlgSendMessage *) pvar; CFile m_fSendfile;m_fSendfile.Close(); if (!m_fSendfile.Open(pDl转载 2014-01-22 15:20:13 · 804 阅读 · 0 评论 -
TransmitFile使用(发送文件)
TransmitFile使用(发送文件) BOOL TransmitFile( SOCKET hSocket, HANDLE hFile, DWORD nNumberOfBytesToWrite, DW转载 2014-01-22 15:18:12 · 1593 阅读 · 0 评论 -
怎样及时检测出非正常断开的TCP连接
作者:在水一鱼(powercc@21cn.com)此处的”非正常断开”指TCP连接不是以优雅的方式断开,如网线故障等物理链路的原因,还有突然主机断电等原因有两种方法可以检测:1.TCP连接双方定时发握手消息 2.利用TCP协议栈中的KeepAlive探测第二种方法简单可靠,只需对TCP连接两个Socket设定KeepAlive探测,所以本文只讲第二种方法在Linux,Windo转载 2014-01-22 14:38:20 · 710 阅读 · 0 评论 -
端口截听实现端口隐藏 嗅探与攻击及解决方法
在asp.cn/ class=wordstyle>WINDOWS的SOCKET服务器应用的编程中,如下的语句或许比比都是: s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); saddr.sin_family = AF_INET; saddr.sin_addr.s_addr = htonl(INADDR_ANY);转载 2014-01-22 14:07:01 · 1373 阅读 · 0 评论 -
一种新的穿透防火墙的数据传输技术
使用该技术背景: 在目标主机安放后门,需要将数据传输出去,同时数据很重要,动作不能太大。其他情况“严重”不推荐使用该技术(后面我会讲到为什么)。 针对目前防火墙的一些情况,如果自己的进程开一个端口(甚至是新建套接字)肯定被拦。相反,有一点我们也很清楚:被防火墙验证的进程在传送数据时永远不会被拦。所以,我的思路很简单:将其他进程中允许数据传输的套接字句柄拿为已用。 过程如下转载 2014-01-22 14:20:40 · 1616 阅读 · 0 评论 -
tcp 连接的11类状态
一、Linux服务器上11种网络连接状态图:TCP的状态机通常情况下:一个正常的TCP连接,都会有三个阶段:1、TCP三次握手;2、数据传送;3、TCP四次挥手注:以下说明最好能结合”图:TCP的状态机”来理解。SYN:(同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接转载 2013-12-19 22:37:32 · 402 阅读 · 0 评论 -
TCP连接的封锁
TCP连接的关闭(转)TCP连接的关闭有两个方法close和shutdown,这篇文章将尽量精简的说明它们分别做了些什么。为方便阅读,我们可以带着以下5个问题来阅读本文:1、当socket被多进程或者多线程共享时,关闭连接时有何区别?2、关连接时,若连接上有来自对端的还未处理的消息,会怎么处理?3、关连接时,若连接上有本进程待发送却未来得及发送出的消息,又会怎么处理?转载 2013-12-19 22:31:57 · 1142 阅读 · 0 评论 -
Linux编程基础——信号
Linux编程基础——信号基本概念信号在Linux中是一个比较常见的概念,例如我们按Ctrl+C中断前台进程,通过Kill命令结束进程都是通过信号实现的。下面就以Ctrl+C为例简单的说明信号的处理流程:用户按下Ctrl-C,这个键盘输入产生一个硬件中断。该进程的用户空间代码暂停执行,CPU从用户态切换到内核态处理硬件中断。终端驱动程序将Ctrl-C解释转载 2013-12-28 15:21:36 · 366 阅读 · 0 评论 -
对PGM可靠组播的调查
对PGM可靠组播的调查注:为了叙述方便,以下的组播均指可靠的组播。 调查结果:1. 组播适合于局域网一对多的传送数据,相比TCP能极大减少对服务器端的压力,特别是客户端数量巨大时尤为明显;相比UDP则可靠性更好,同时组播目的性更强。2. 组播每个包的最大字节数为65535(即:64K-1)。因此若数据包的字节数大于65535,则需预先手动将大包拆分,分成多个小包后组播发转载 2013-12-05 23:24:29 · 1200 阅读 · 0 评论 -
正确使用UDP广播(C++代码)
相比TCP,UDP的优点是传输速度快且能对整个网络广播数据。但我以前在使用UDP整个网络广播数据的用法上,一直没能好好使用。这段时间,正好需要使用UDP的这个功能,因此经过摸索,得出了一种使用方法如下:(不一定是最好的,但能实现我的功能)[c-sharp] // 服务器端 // Server.cpp : Defines the entry point for the co转载 2013-12-05 23:21:49 · 707 阅读 · 0 评论 -
stream_set_blocking让程序无阻塞
stream_set_blocking让程序无阻塞stream_set_blocking ($resource, $flag); $flag 取值为0或10是非阻塞,1是阻塞阻塞的意义是什么呢?某个函数读取一个网络流,当没有未读取字节的时候,程序该怎么办?是一直等待,直到下一个未读取的字节的出现,还是立即告诉调用者当前没有新内容?前者是阻塞的转载 2013-12-12 00:27:42 · 498 阅读 · 0 评论 -
巧用端口映射 不通过网关开放任意内网
巧用端口映射 不通过网关开放任意内网 作者:许琳出处:IT专家网2006-09-04 06:00 今天给大家说说如何巧用端口映射,不通过网关开放内网的方法。 一:使用前提 需要有一台公网的IP。假如现在我们有一台公网的P :210.210.21.21 二:用到的工具 1.lcx.exe 2.vdic 三:方法讲解 方法一:用lcx.exe转载 2013-12-09 12:44:34 · 1025 阅读 · 0 评论 -
拼包函数及网络封包的异常处理(含代码)
本文作者:sodme本文出处:http://blog.youkuaiyun.com/sodme声明:本文可以不经作者同意任意转载、复制、传播,但任何对本文的引用都请保留作者、出处及本声明信息。谢谢! 常见的网络服务器,基本上是7*24小时运转的,对于网游来说,至少要求服务器要能连续工作一周以上的时间并保证不出现服务器崩溃这样的灾难性事件。事实上,要求一个服务器在连续的满负荷运转下不出任何异常转载 2013-12-09 12:46:08 · 606 阅读 · 0 评论 -
宽带测速操作手册
宽带测速操作手册杭州电信客网支撑中心 2008-12-22 说明:本手册分别介绍了基于普通HTTP下载、FTP下载以及iperf测速工具的宽带测速操作方法。我们建议1M-10M带宽的测速可采用以上三种方法中的任何一种,10M以上的带宽,特别是100M以上的我们建议只使用iperf测速工具进行测试。另外,如果出现HTTP下载和FTP下载测速都不正常的情况下,请使用iperf测速工转载 2013-11-30 17:11:12 · 755 阅读 · 0 评论 -
服务器传输数据异常解决
一直很少写工作日志了.现在记录一下吧.一.故障:1.故障时间:2013.11.27 22点后-2013.11-29 17:002.系统:win20033.带宽 300M 4.服务器用途:实时数据存储/中转 ,同时开了四个应用服务器端5.故障描述: 突然出现实时数据下载和上传异常,出现大量数据波动大,大量丢包. 二.解决: 1原创 2013-11-29 20:24:21 · 1937 阅读 · 0 评论 -
为Windows Server 2003添加永久网通、电信静态路由
为Windows Server 2003添加永久网通、电信静态路由 @echo offecho 正在添加路由...route delete 0.0.0.0route add 0.0.0.0 MASK 0.0.0.0 电信网关 -proute add 27.8.0.0 MASK 255.248.0.0 网通网关 -proute add 27.3转载 2013-11-28 23:15:15 · 805 阅读 · 0 评论 -
IP数据包长度问题总结
IP数据包长度问题总结 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在应用层 它们的关系是 数据帧{IP包{TCP或UDP包{Data}}} ---------------转载 2013-11-10 20:46:48 · 749 阅读 · 0 评论