
TCP/IP
文章平均质量分 78
delphiwcdj
用代码改变生活
展开
-
Winsock frame in Win32 console application
最近利用空余时间在Win32 console application下重新写了一遍Winsock tcp通信程序,目的一是,以前在MFC下写过一个Socket通信程序,但是MFC帮我做了很多事情,所以想完全自己动手写一个与MFC功能一样的Socket通信程序;目的二就是帮助自己再熟悉一遍Socket通信的相关内容。下面对Socket通信的基本内容做一个复习:(更详细的内容g.cn)PS原创 2009-10-13 14:37:00 · 1993 阅读 · 0 评论 -
Libcurl使用OpenSSL编译出现undefined reference to `COMP_CTX_free'错误备忘
2014-04-22 wcdj原创 2014-04-22 19:22:53 · 24305 阅读 · 1 评论 -
Libcurl多线程crash问题
2014-01-15 wcdj1 问题背景后台系统有一个单线程的http接口,为了提高并发处理能力,开启多个线程并发在跑,修改后接口的响应确实得到提高,但是server每3分钟出现一次crash。原因是系统使用的是curl-7.21.1(August 11 2010)的库,此版本并非线程安全。遂替换了最新的curl-7.34.0(December 12 2013)库,悲催的原创 2014-01-15 00:26:51 · 24910 阅读 · 2 评论 -
(UNP点滴记录) TCP连接建立和终止及TCP状态转换
2012-11-17 wcdj关键字: UDP,TCP,三次握手,四次握手,TCP状态转换,11种状态,TIME_WAIT用户数据报协议(UDP)UDP是一个简单的传输层协议(RFC 768)。进程往一个UDP套接字写入一个消息,该消息随后被封装(encapsulating)到一个UDP数据报,该UDP数据报进而又被封装到一个IP数据报,然后发送到目的地。(1) UDP的几原创 2012-11-17 18:23:52 · 2658 阅读 · 0 评论 -
Linux IPC之Socket网络编程基础篇
UNIX IPC工具使用总结 里介绍了socket是一种用于通信的IPC工具。它允许位于同一主机或跨主机上的应用程序之间交换数据。第一个被广泛接受的socket API实现于1983年,出现在4.2BSD中,实际上这组API已经被移植到了所有UNIX实现以及大多数操作系统上。概述在一个典型的C/S场景中,应用程序使用socket进行通信的方式如下:各个应用程序创建一个socket。socket是一原创 2016-08-02 17:55:58 · 1825 阅读 · 0 评论 -
Linux IPC之Socket网络编程服务器的负载均衡
导言:在设计高性能并发型服务器时,传统的为每一个客户端创建一个新的子进程(或线程)所带来的开销对服务器来说是个沉重的负担,因此本文考虑几种可选方案。在服务器上预先创建进程或线程(进程池或线程池)服务器在启动阶段(即,在任何客户端请求到来之前)就立刻预先创建好一定数量的子进程(或线程),而不是针对每个客户端来创建一个新的子进程(或线程)。这些子进程构成了一种服务池(server pool),即,进原创 2016-08-14 12:36:24 · 2330 阅读 · 0 评论 -
Linux IPC之Socket网络编程I/O多路复用相关模型及区别
导言:大部分程序使用的I/O模型(传统的阻塞式I/O模型)都是单个进程每次只在一个文件描述符上执行I/O操作,每次I/O系统调用都会阻塞直到完成数据传输。但是,有些场景需要: 以非阻塞的方式检查文件描述符上是否可进行I/O操作。 同时检查多个文件描述符,看它们中的任何一个是否可以执行I/O操作。 对应的解决方法分别是,使用非阻塞式I/O和多进程(多线程)。原创 2016-08-22 23:59:29 · 2097 阅读 · 0 评论 -
使用C/C++获取本地机器IP的方法
2012-01-05 wcdj方法1:getaddrinfo#include #include #include #include #include #include // inet_ntop#include #include // bzero#include void GetSelfServerIP(char *pszIP){ struct addrinfo *a原创 2012-01-05 21:10:35 · 6649 阅读 · 0 评论 -
网络工具之tcpdump
2012-08-17 wcdjtcpdump - dump traffic on a network使用tcpdump命令的前提:具有root权限使用此命令需要注意的几个关键字1, 类型的关键字主要包括:host, net, port;2, 确定传输方向的关键字主要包括:src, dst, dst or src, dst and src;3, 协议的原创 2012-08-17 13:07:35 · 2436 阅读 · 0 评论 -
网络工具之iptables
2011-12-20 wcdj在测试网络通信各种异常情况时,可以使用iptables进行模拟测试。在Linux下需要具有root权限才可以使用此工具。netstat -unat | grep port常用选项-a -all 显示所有有效连接信息列表-n -numeric 直接使用ip地址,而不通过域名服务器-t -tcp 显示tcp传输协议的连线状况-u -udp 显示原创 2011-12-20 21:37:32 · 1362 阅读 · 0 评论 -
Libcurl库支持SSL协议的编译方法
2014-04-10 wcdj原创 2014-04-10 13:22:57 · 19698 阅读 · 0 评论 -
(Manual) round-trip time(RTT)
2014-02-11 wcdjRound-trip time (RTT), also called round-trip delay, is the time required for a signal pulse orpacket totravel from a specific source to a specific destination and back again.转载 2014-02-11 10:03:18 · 4579 阅读 · 0 评论 -
(Manual) maximum segment size(MSS)
2014-02-11 wcdjThe maximum segment size (MSS) is the largest amount of data, specified in bytes, that acomputer or communications device can handle in a single, unfragmented piece. For optimum转载 2014-02-11 14:01:19 · 2329 阅读 · 0 评论 -
Network Programming For Microsoft Windows Notes:Introduction to Winsock
Winsock是一种标准API(Application Programming Interface,应用程序编程接口),主要用于网络中的数据通信,它允许两个或者多个应用程序(或进程)在同一台机器上或通过网络相互通信。注意:(1) Winsock是一种网络编程接口,而不是协议。使用Winsock编程接口,应用程序可以通过不同网络协议(如TCP/IP)建立通信。(2)原创 2010-05-25 09:59:00 · 1164 阅读 · 0 评论 -
Network Programming For Microsoft Windows Notes:Winsock I/O
1 套接字模式Windows套接字在两种模式下执行I/O操作:阻塞模式和非阻塞模式。在阻塞模式下,I/O操作完成之前,执行操作的Winsock调用(例如send和recv)会一直等候下去,不会立即返回到程序中(将控制权交还给程序)。在非阻塞模式下,Winsock函数无论如何都会立即返回。注意:(1)原创 2010-05-26 19:35:00 · 1262 阅读 · 0 评论 -
多线程网络通信的一种情形
考虑在网络通信中,模拟一种情形:server需要完成一项任务,首先它根据一张可以规定的client优先顺序表,将此项任务依次发送给每个client。当server第一时间收到某一client返回的任务结果后,将停止向其余client发送此项任务,并且显示任务结果,并终止server自己完成任务。然而,当server在第一时间没有收到某一client返回任务的时候,可以选择自己来完成该项任务,如果选原创 2010-05-15 23:01:00 · 745 阅读 · 0 评论 -
(Manual) TCP Keepalive HOWTO
2012-11-11 wcdj不错的manual,记录下。http://tldp.org/HOWTO/HOWTO-INDEX/howtos.htmlTCP Keepalive HOWTOhttp://tldp.org/HOWTO/TCP-Keepalive-HOWTO/index.htmlThis document describes the TCP转载 2012-11-11 21:30:03 · 834 阅读 · 0 评论 -
(Manual) /proc/sys/net/* 参数说明
2012-11-18 wcdj/proc/sys/net/ipv4/* Variables 参数含义http://lxr.linux.no/#linux+v3.2.8/Documentation/networking/ip-sysctl.txt#L464http://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt转载 2012-11-18 13:44:36 · 782 阅读 · 0 评论 -
(Manual) Beej's Guide to Network Programming
2012-11-18 wcdjBeej's Guide to Network ProgrammingUsing Internet SocketsBrian "Beej Jorgensen" Hallbeej@beej.usVersion 3.0.15July 3, 2012Contents1. Intro1.1. Audience1.2.转载 2012-11-18 19:16:07 · 1006 阅读 · 0 评论 -
(UNP点滴记录) TCP端口号与并发服务器,缓冲区大小限制,TCP/UDP输出机制
2012-12-15 wcdj关键字: 端口号,套接字对,TCP端口号与并发服务器,缓冲区大小限制,TCP/UDP输出端口号TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。 端口号很多是奇数的原原创 2012-12-15 15:36:29 · 5849 阅读 · 0 评论 -
(UNP点滴记录) I/O复用select
2013-02-03 wcdj1 UNIX下可用的五种I/O模型(1) 阻塞式I/O(2) 非阻塞式/O(3) I/O复用(select和poll)(4) 信号驱动式I/O(SIGIO)(5) 异步I/O(POSIX的aio_系列函数)2 I/O复用selectclient代码// client_v2.cpp #incl原创 2013-02-03 16:33:31 · 1246 阅读 · 0 评论 -
网络工具之netstat
导言:netstat可以显示系统中Internet和UNIX域套接字的状态,当编写套接字程序时,netstat是个非常有用的调试工具。关于netstat的具体用法,请查看具体手册man netstat。例如,一些常用选项:# 显示所有套接字的信息-a# 只显示监听套接字的信息-l# 显示进程ID号,以及套接字所归属的程序名称-p# 显示IP地址,端口号,并以数字形式显示出用户名称-n# 连原创 2016-08-21 19:57:41 · 1229 阅读 · 0 评论