自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (4)
  • 收藏
  • 关注

原创 linux下多线程tcp服务器、客户端程序

/* 编译命令:gcc -Wall -g -o server server.c -lpthread */#include #include #include #include #include #include #include #include #include #include #define PORT 8458#define MAX_L

2012-12-31 00:54:39 2815

原创 多进程实现客户端tcp收发包 linux

客户端#include #include #include #include #include #include #include #define PORT 1234#define MAXDATASIZE 1000void process(FILE *fp,int sockfd);char *getMessage(char *sendline,int le

2012-12-30 23:49:22 1174

转载 多线程TCP/IP通讯的客户端

jackyhwei 发布于 2010-01-01 12:17 点击:842次 多线程TCP/IP通讯的客户端,心跳检测,意外断网重连,时间校准。写日志函数不考虑线程同步。TAG: 多线程  TCP  心跳  服务器编程  TLV   /* add include files */#include "winsock2.h"

2012-12-30 23:40:32 921

转载 TCP客户端程序源代码

int client(){ system("color 0a"); //修改DOS窗口颜色,是其成0A。 WORD wVersion=MAKEWORD(1,1); WSADATA wsData; int nResult= WSAStartup(wVersion,&wsData); //启动WINSOCKET if(nResult !=0) { printf("启

2012-12-30 23:26:35 1221

转载 客户端、服务器源码

mpthserv.c#include #include #include #include #include #include #include #include #include #define MAX 10#define SERVER_PORT 5555pthread_t thread[

2012-12-30 22:48:29 607

转载 setsockopt设置socket状态

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经

2012-12-28 15:59:12 387

转载 Linux Epoll介绍和程序实例

1. Epoll 是何方神圣? Epoll 可是当前在 Linux 下开发大规模并发网络程序的热门人选, Epoll 在 Linux2.6 内核中正式引入,和 select 相似,其实都 I/O 多路复用技术而已 ,并没有什么神秘的。 其实在 Linux 下设计并发网络程序,向来不缺少方法,比如典型的 Apache 模型( Process Per Connection ,简称 PPC

2012-12-27 20:58:47 398

转载 简单的linuxepoll服务器开发

2008年11月27日 12:40 来源:ChinaUnix博客 作者:hust_qb 编辑:周荣茂     鉴于poll select的弱势--在线人数的线形递增而导致呈二次乃至三次方的下降,这些直接导致了网络服务器可以支持的人数有了个比较明显的限制。 epoll在linux内核2.6被开发出来,经过测试,运行稳定,已经成为现在主流的select模式。     epoll用到的所有函

2012-12-27 20:50:37 479

转载 CLOSE_WAIT生成的原因

CLOSE_WAIT,TCP的癌症,TCP的朋友。CLOSE_WAIT状态的生成原因首先我们知道,如果我们的服务器程序APACHE处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!因为如果是CLIENT端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet:      Client --->  FIN  --->  Server

2012-12-27 20:12:38 711

原创 解决TCP连接数过多的问

1、建立连接协议(三次握手)(1)客户 端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标 志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通 讯。(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。2、连接终止

2012-12-27 20:10:55 663

转载 linux 下端口close_wait 过多 .

情景描述:系统产生大量“Too many open files” 原因分析:在服务器与客户端通信过程中,因服务器发生了socket未关导致的closed_wait发生,致使监听port打开的句柄数到了1024个,且均处于close_wait的状态,最终造成配置的port被占满出现“Too many open files”,无法再进行通信。 close_wait状态出现的原因是被动关闭方未关

2012-12-27 20:07:37 555

转载 socket链接的关闭close和shutdown的区别,TIME_WAIT和CLOSE_WAIT什么时刻出现,如何处理

TCP主动关闭连接  appl: close(), --> FIN FIN_WAIT_1 //主动关闭socket方,调用close关闭socket,发FIN                //对方操作系统的TCP层,给ACK响应。然后给FIN                               --> ACK "TIME_WAIT" -- 2MSL timeo

2012-12-27 17:59:57 975

转载 close_wait状态的产生原因及解决

最近需要上线的逻辑server由于需要与大量的后台server交互,今天突然发现有大量的close_wait产生,于是仔细研究了一下:首先我们知道,如果我们的服务器程序处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!因为如果是CLIENT端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet:Client ---> FIN  ---> Server

2012-12-27 17:55:21 645

转载 CLOSE_WAIT和TIME_WAIT处理

早上登陆服务器的时候输入netstat -an|grep mysql 发现存在大量TIME_WAIT状态的连接 tcp        0      0 127.0.0.1:3306              127.0.0.1:41378             TIME_WAITtcp        0      0 127.0.0.1:3306              127.0

2012-12-27 17:51:59 459

转载 CLOSE_WAIT问题解决

CLOSE_WAIT问题终于解决了。首先我要多谢tonykorn97,他的Blog: http://tonykorn97.itpub.net/index.php一篇对我非常有用的文章!(我在下面引用了过来。)from : http://tonykorn97.itpub.net/index.php下面就说说我是怎么解决的吧:[oracle9i@RHEL3 or

2012-12-27 17:47:54 1449

原创 c++ 时间类型详解 time_t

Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix 系统、类Unix系统中,也在许多其他操作系统中被广告采用。目前相当一部分操作系统使用32位二进制数字表示时间。此类

2012-12-27 11:25:48 497

原创 ERROR 1045 (28000): Access denied for user ’root’@’localhost’ (using password: YES)

# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user ’root’@’localhost’ (using password: YES) 使用网上介绍的方法修改root用户的密码: # mysqladmin -uroot -p password ’newpassword’ E

2012-12-21 17:36:18 413

原创 SOCKS5代理

求助编辑  SOCKS5代理采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、 HTTP 层代理不同,Socks 代

2012-12-20 20:30:11 2077

原创 sock5代理工作原理

代理服务器的原理用简单点的话说是:机器A想到机器B下载东西,或者其他,某些原因致使无法实现。现有代理服务器C,所以A可以先和C建立联系,将请求发送给C,C接到请求,和B建立联系,将A想要的东西下到本地,在发送给A。代理功能完成。sock5代理工作原理出处:darkness fallen时间:Wed, 26 Apr 2006 11:42:15 +0000作者:hjma地址

2012-12-20 20:23:08 873

转载 用squid+iptables实现http代理

用squid+iptables实现http代理分类: Apache2011-10-09 09:52 745人阅读 评论(0) 收藏 举报squid简介    squid是一缓存internet数据饿软件,它接受用户的瞎子申请,并自动处理所下载的数据也就是说,当一个用户要下载一个主页时,它向squid发吹个申请,要qsuid替他下载,然后squid链接所申

2012-12-20 10:36:05 8560

原创 gcc/g++编译

1. gcc/g++在执行编译工作的时候,总共需要4步(1).预处理,生成.i的文件[预处理器cpp] (2).将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] (3).有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] (4).连接目标代码,生成可执行程序[链接器ld][参数详解] -x language filename     设定

2012-12-19 14:16:25 364

原创 linux libpam.so

Linux PAM 介绍 haizdl@126.com发布于 2011-6-03 | 1826次阅读   字号: 大 中 小  (网友评论 15 条) 我要评论PAM入门介绍PAM (Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套

2012-12-16 22:32:39 6920

转载 unix网络编程中的包裹函数

分类: 网络编程2012-03-27 16:16 139人阅读 评论(0) 收藏 举报以下是unix网络编程中的包裹函数,同样适用与windows 编程:Writen 和Readn   等等/* include readn */#include "unp.h"ssize_t      /* Read "n" bytes from a descript

2012-12-14 17:00:39 1109

原创 inet_pton

Linux下IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换  而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。  inet_pton函数原型如下[将“点分十进制” -> “整数”]  #include sys/types.h>  #include   #inclu

2012-12-14 11:05:25 774

转载 Socket Error 表

Socket Error 表 (2008-10-13 11:58:36)转载▼标签: 杂谈分类: HappySocket error 0 - Directly send errorSocket error 10004 - Interrupted function callSocket error 1

2012-12-14 10:47:41 5797

转载 关于unix高级环境编程 编译时的err_sys和err_quit错误

分类: UNIX环境高级编程 err_sys以及err_quit等函数不是C语言自带函数,是作者自己编写的函数。所以,想要运行书中的源代码,就必须自建一个头文件my_err.h把作者的代码拷贝进去,然后在程序中加载。#include errno.h> /* for definition of errno */#incl

2012-12-12 23:22:29 11655 1

转载 LINUX下动态链接库的使用

2.1 重要的dlfcn.h头文件LINUX下使用动态链接库,源程序需要包含dlfcn.h头文件,此文件定义了调用动态链接库的函数的原型。下面详细说明一下这些函数。  2.1.1 dlerror   原型为: const char *dlerror(void);   当动态链接库操作函数执行失败时,dlerror可以返回出错信息,返回值为NULL时表示操作函数执行成功。

2012-12-12 18:09:23 529

转载 linux下dlopen的使用

dlopen()  功能:打开一个动态链接库  包含头文件:  #include   函数定义:  void * dlopen( const char * pathname, int mode );   函数描述:  在dlopen的()函数以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程。使用dlclose()来卸载

2012-12-12 18:07:03 4843

转载 linux tcp 连接的配置

linux tcp 连接的配置  2011-10-22 15:13:34|  分类: 操作系统|字号 订阅http://zhang-ly520.iteye.com/blog/547881tcp_syn_retries :INTEGER默认值是5对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于

2012-12-08 15:24:51 837

原创 tcp参数详解之tcp_fin_timeout

tcp参数详解之tcp_fin_timeout (2011-05-04 17:14)标签:  tcp ip timeout syn  分类: 网络技术tcp_fin_timeout :INTEGER默认值是 60对于本端断开的socket连接,TCP保持在FIN_WAIT_2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为 60

2012-12-08 15:16:02 18832

转载 TCP转发服务器的例子

2009-05-28 15:02:14|  分类: 电脑知识|字号 订阅这几种机器用事件模型应该够用了。 下面是一个TCP转发服务器的例子,他的作用是有一些客户端连到服务器后,任何一个客户端发给服务器的数据都被服务器原封不动的转发到所有客户端,类似于多人聊天的概念。 program EventSelectServer; {$APPTYPE CONSOLE}

2012-12-06 23:10:03 5273

转载 TCP to TCP 数据转发

TCP to TCP 数据转发MSN:yiqianfeng@hotmail.com需要转载请联系作者目的    我们部门在内网有一台Web服务器A,用于部门文档信息管理,可分公司的员工,或出差的员工,都不能直接访问这台机器。所以还得把发邮件来完成文档的提交。如何实现外地员工能访问Web服务器A呢?公司有一台可以访问外网的机器B,要是在B上运行一个数据转发程序,固定地

2012-12-06 23:08:18 3864 1

原创 IP别名+TCP转发+端口映射实现跨网络访问[原创]

一、背景环境:  1、都是Linux服务器;  2、“服务器A”与“服务器C”不在同一网络,两者之间是不通的;  3、“服务器A”、“服务器C”分别与“服务器B”相通。  二、要实现的需求:  1、让“服务器A”上的PHP程序能够连接“服务器C”上的MySQL数据库(IP:10.10.1.4,端口:3306);  2、不允许在“服务器A”上的PHP程序中更改MySQL地

2012-12-06 23:02:18 2299

转载 一个TCP/IP转发的例子

一个TCP/IP转发的例子#include #include #include #include #include #include #include #include #include #include  #include  #include  #include  #include  #ifndef _SCO_DS#incl

2012-12-06 22:50:30 648

linux 从配置文件中获取参数

这个代码是我编译通过,并且调试成功。可以方便的把配置文件中的参数获取到。里面包含头文件和.c文件。另外还有配置文件样例。配置文件按照制定位置放到linux系统里。

2013-04-08

苹果浏览器

很好用的浏览器,不用安装,体验很好。安全稳定,不易崩溃,视觉效果好,真的很好用的浏览器。

2013-03-12

ss5代理所需rpm包

安装时使用命令 rpm -Uvh ***.rpm 。提示依赖什么装什么就OK了!

2012-12-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除