自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 用iptables过滤防火墙TCP包

在终端中运行以下命令iptables -A INPUT -p tcp --tcp-flags RST RST -j DROPservice iptables save 第一条命令是忽略RST包第二条是保存iptables启动及关闭iptables   设置iptables开机启动  chkconfig iptables on  chkconfig iptab

2012-07-19 16:37:14 2438

原创 webbench

webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。  1、适用系统:Linux  2、编译安装:引用wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gztar zxvf webbench-1.5.t

2012-06-28 16:24:13 552

转载 Valgrind 使用简单说明

调不尽的内存泄露,用不完的Valgrind(一个介绍程序调试的精彩讲解:http://www.ibm.com/developerworks/cn/linux/l-pow-debug/)Valgrind 介绍 Valgrind是一个GPL的软件,用于Linux(For x86, amd64 and ppc32)程序的内存调试和代码剖析。你可以在它的环境中运行你的程序来监视内存的使用情

2012-06-21 10:56:05 514

原创 linux下编绎ACE

1. 创建环境变量 export ACE_ROOT=/home/zjy/ACE_wrappers export PATH=$PATH:$ACE_ROOT/MPC 2. 生成makefile文件 #cd /home/zjy/ACE_wrappers/ace #mpc.pl -type make -include ../bin/MakeProjectCreato

2011-11-19 15:17:52 762

转载 close_wait状态和time_wait状态

标签: 不久前,我的Socket Client程序遇到了一个非常尴尬的错误。它本来应该在一个socket长连接上持续不断地向服务器发送数据,如果socket连接断开,那么程序会自动不断地重试建立连接。有一天发现程序在不断尝试建立连接,但是总是失败。用netstat查看,这个程序竟然有上千个socket连接处于CLOSE_WAIT状态,以至于达到了上限,所以无法建立新的socket连接了

2011-11-08 11:05:47 844

转载 TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞

[ 原创文档 本文适合中级读者 已阅读43859次 ] 文档代码 工具 TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞作者:谢红伟下载源代码这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友小妞听说后问“要打孔啊,要不要我帮你去借个电钻过来啊?”“~!·¥%……·!”

2011-11-04 10:48:00 600

原创 iphone http通讯

//prepar request NSString *urlString = [NSString stringWithFormat:@"http://urlToSend.com"]; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; [request set

2011-10-25 10:18:09 1464

原创 iphone 字符串 nsstring用法

1.4.1   字符串可能最常使用的类就是NSString。NSString是不可变的,这意味着一旦创建了它,就不能修改它。如果需要修改一个NSString的内容,应该使用NSMutableString类。然而,直接用新的内容创建一个新的NSString,这种做法更为常见。有很多种方法可以创建一个NSString,其中最简单的可能就是下面这种:NSString *myString=

2011-10-21 11:10:14 805

原创 UIscrollView(转)

contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480)contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。contentOffset是scroll

2011-10-14 10:43:29 2495

转载 P2P 之 UDP穿透NAT的原理与实现(附源代码)

P2P 之 UDP穿透NAT的原理与实现(附源代码)原创:shootingstars参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有

2011-10-14 10:42:25 614

原创 iPhone How-to:如何更改UISwitch的提示文本

UISwitch(如下图)可以认为是其他UI库中Checkbox的替代品,但所呈现的内容更丰富,包括文本、颜色、动画。默认情况下,UISwitch的提示文本分别是ON和OFF,并很好地支持国际化以在不同区域语言下显示不同的文字,但由于无法定制导致在有些应用场景中显得不是很准确。比

2011-09-30 10:09:11 708

转载 iPhone开发技巧之网络--- Web服务

iPhone开发技巧之网络篇(2)--- Web服务说到XML不得不提WEB应用中最常见的几种通讯规范:SOAP,XML-RPC,REST,WSDL,JSON等,他们都是基于XML协定的。在这里介绍几种处理web应用中可以利用的程序库:现在云计算技术很火,无论是类似 Go

2011-09-29 10:55:12 687

原创 iphone学习笔记-UIView如何管理它的子视图

UIView提供了很多建立和管理视图的方法。1、添加视图     insertSubview:atIndex:   //放在子视图数组的具体索引位置     insertSubview:aboveSubview:   //某个子视图前面     insertSub

2011-09-29 10:41:27 3874

原创 关于-viewWillAppear:等无法调用的总结

今天也遇到了这样的问题。产生原因是用了UINavigationController. 将UINavigationController的view作为subview添加到了其他viewController的view中。或者把UINavigationController

2011-09-28 17:11:28 1385

转载 Sigslot介绍

最近在开发一个基于libjingle开源的IM系统,里面有一个其类为has_slots,搜索了一下其资料发现是一个很好用的C++库,先对其简单介绍一下。 1.          简介      sigslot是一个线程安全、类型安全,用C++实现的sig/slot机制(s

2011-09-27 15:38:08 550

转载 UIScrollView 平滑划动处理

iOS开发经常会用到UIScrollView,而能够平滑的展示划动效果,是至关重要的。但,经常会在划动到中间位置的时候,出现卡顿,很影响用户体验性。因此,个人把个人的一些经验整理下,用代码说话,一目了然。        现在UIScrollView使用有两种方法:一种是A

2011-09-26 11:15:21 1028

转载 在navigationBar上面添加多个任意控件

基本的navigationBar上面就左,中,右 3个位置,而且默认也是添加UIBarButtonItem/UINavigationBar按钮,但是很多开发过程中会遇到在上面添加更多其它控件,经过研究后,所以特写此文,算是做个笔记,也希望能够帮助朋友解决正在解决的这方面的问题。

2011-09-26 11:13:32 5976

原创 对一个服务器的几步优化

最近写了一个服务器,业务逻辑很简单,每个协议包往服务器上报数据, 每个数据包中可能有N块数据需要保存在数据库中的.显然, 这个业务逻辑是不能使用类似memcached这样的缓存的, 因为每条数据都是相对独立的, 而且必须保证每个数据都保存到数据库中.这里抛开服务器最基本的那些IO

2011-09-14 14:51:35 686

原创 服务器设计和开发的体会

做服务器有一段时间了,想记录下自己的体会。依我的看法,服务器可以看做是4个部分组合起来的, 底层的网络框架, 通用的数据结构和库, 整个服务器的架构设计,服务器的上层业务逻辑。 底层的网络框架,目前可以说技术基本都是公开的了, 可以自己从头写,采用iocp,epoll

2011-09-06 10:44:32 676

原创 Linux动态库(.so)搜索路径

众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中

2011-08-18 17:48:44 737

原创 C++程序运行时内存布局之----------this到底是什么?

先问一个问题,在C++里,成员函数里的this指针和调用此函数的对象地址总是一样的吗?如果你的回答是:不一定。那么至少你是个老手吧,下面的内容你就不用看了;如果你的回答是:是啊,那么强烈建议你看看下面的内容。 非静态成员函数,无论是不是虚函数,都隐藏了一个this指针参数。这个参

2011-07-15 10:01:14 660

原创 程序异常退出时发送邮件报告的代码

利用 NSSetUncaughtExceptionHandler,当程序异常退出的时候,就给指定的邮箱发送邮件,邮件内容包括发生异常时候的详情。代码如下: void UncaughtExceptionHandler(NSException *exception) { NSArra

2011-07-14 18:30:17 575

原创 用NSURLConnection Post上传数据的特殊字符处理

用NSURLConnection Post上传的时候发现一个特奇怪的问题,只要是+号都会替换成空格。例如"google+"就会变成"google ",代码如下:   NSString*bodyStr =@"google+";   [urlRequestsetH

2011-07-06 13:18:09 816

原创 分享iphone开发的好网站

1、http://developer.apple.com/iphone/library这个是官方的代码实例2、www.cocoachina.com这个网站比较适合初期开发者,上面的版主之类的也比较热心,一般的问题都会提供帮助3、http://www.tipb.com/国外的一些文章博客,介绍iphone的特性和开发4、http://www.iphonedevsdk.com/

2011-07-01 11:08:00 2284

原创 结合UIImageView实现图片的移动和缩放

因为种种原因,需要在iphone应用中实现图片查看功能,由于iphone屏幕支持多点触摸,于是是想到用“手势”来实现图片的实时缩放和移动。借鉴无所不在的internet网络资料之后,终于实现此一功能,过程如下。一、 首先实现原图显示(不缩放)新建MoveScaleImageView类,继承uiview。用于加载一个UIImage。它有两个主要的成员,一个UIImage对象用于指定

2011-06-27 16:00:00 1241

原创 UIImage图片的缩小与放大

UIImage可以加载图片,但是我们想要得到一张缩小或放大的图片,利用UIImage不能做到,下面我们添加一个UIImage的分类,用来实现UIImage中图片的放大和缩小。首先,创建一个UIImage+Scale类。然后,实现该类的方法:#import @interface UIImage (scale) -(UIImage*)scaleToSize:(CGSize)siz

2011-06-27 14:23:00 3788

原创 objectiv-c资料网址

http://www.cocoachina.com/b/?p=132http://wangjun.easymorse.com/?tag=objective-c&paged=2

2011-06-27 12:41:00 639

原创 Iphone利用UIImagePickerController调用系统照相机

iphone api中提供了调用系统照相机的接口,我们只需调用相应的界面,即刻在自己的程序中获取相机图片.下面是一个非常简单的调用系统照相机的例子.相应的界面如下: 最后可以编辑图片和使用相应的图片. 下面是主要代码:- (void) addPicEvent {     //先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourc

2011-06-27 12:28:00 913

原创 contentsiz contentoffset contentInset的区别

contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,48

2011-06-27 11:50:00 791

原创 iOS-将图片保存到照片相册中

这是调用api生成的当前绘制的图形。代码很简单:1UIImageWriteToSavedPhotosAlbum(drawImage.image, nil, nil, nil);这里drawImage是一个UIImageView。为nil的参数,可在UIKit Function Reference中查到。UIImageWrite

2011-06-27 11:21:00 3074

原创 iOS-如何判断touch到子视图或离开视图

这是在ios开发中常见的功能。即,touch移动事件,是移动到当前视图的子视图中,还是移动到当前视图以外了。办法是,继承UIView,覆盖touchesMoved方法: - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch=[touches anyObject];

2011-06-27 11:01:00 1992

原创 最快速度找到内存泄漏

<br />内存管理是C++程序员的痛。我的《内存管理变革》系列就是试图讨论更为有效的内存管理方式,以杜绝(或减少)内存泄漏,减轻C++程序员的负担。由于工作忙的缘故,这个系列目前未完,暂停。<br /> <br /> <br /> <br />这篇短文我想换个方式,讨论一下如何以最快的速度找到内存泄漏。<br /> <br /> <br /> <br /> <br />确认是否存在内存泄漏<br />我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:<br />cl

2011-02-22 16:47:00 611

原创 C++类功能扩展预留五招

科普读物

2011-02-22 14:57:00 567

原创 重叠IO模型(之二)

<br />三、编程步骤<br />1、创建一个套接字,开始在指定的端口上监听连接请求。<br />2、接收一个入站的连接请求。<br />3、为接受的套接字创建新的WSAOVERLAPPED结构,并分配事件对象句柄。<br />4、以WSAOVERLAPPED结构为参数,在套接字上投递WSARecv调用。<br />5、将所有接受套接字的事件组建事件数组,并调用WSAWaitForMultipleEvents函数,等待与重叠调用关联在一起的事件受信。<br />6、使用WSAGetOverlappedRe

2011-02-14 17:42:00 2046

原创 重叠IO之事件通知模型

<br />/**********************************************************************<br />*   Author: JMF<br />*   Version:1.0<br />*   BUG: 最大只允许同时64个客户端同时连接(WSA_MAXIMUM_WAIT_EVENTS)<br />***********************************************************************/<b

2011-02-14 17:19:00 1072

原创 谈谈RTP传输中的负载类型和时间戳

<br />最近被RTP的负载类型和时间戳搞郁闷了,一个问题调试了近一周,终于圆满解决,回头看看,发现其实主要原因还是自己没有真正地搞清楚RTP协议中负载类型和时间戳的含义。虽然做RTP传输,有着Jrtplib和Ortp这两个强大的库支持,一个是c++接口,一个是c语言接口,各有各的特点,各有各的应用环境,但是仅仅有库就能解决一切问题吗?可能仿照着一些例子程序,你能够完成主要的功能,但一旦问题发生了,不清楚原理你是很难定位和解决问题的,所以在此,用我的经验劝劝大家,磨刀不误砍柴工,做应用还是先把原理搞清楚再

2011-02-14 10:50:00 1018

原创 WSAAsynSelect()模型 FD_READ事件中recv()接收数据的返回值讨论

<br />使用WSAAsynSelect()模型,在FD_READ事件的时候recv()的返回值讨论? <br /><br />C/C++ codedo{ int nRecvStat = recv( m_sockID, pchBuf, nBufLen, 0 ); int nErrorCode = ::WSAGetLastError();}while(nRecvStat > 0); <br />nRecvStat > 0 自然就是实际从SOCKET缓冲区中读出的数据,现在我们讨论nRecvSta

2011-02-12 16:43:00 3127

原创 FD_WRITE 消息机制

<br />我本想把发送和接收分开作为两部分,但是最后我决定只略微解释一下 FD_READ ,留下更多的时间来说明更复杂的 FD_WRITE , FD_READ 事件非常容易掌握. 当有数据发送过来时, WinSock 会以 FD_READ 事件通知你, 对于每一个 FD_READ 事件, 你需要像下面这样调用 recv() :<br /><br />int bytes_recv = recv(wParam, &data, sizeof(data), 0);<br /><br /><br /><br />基

2011-02-12 16:38:00 640

原创 网络编程记录

我是从来不用心跳,影响效率,起一个线程去select就行了C/C++ code int select( __in int nfds, __in_out fd_set* readfds, __in_out fd_set* writefds, __in_out fd_set* exceptfds, __in conststruct timeval* timeout);第4个参数exceptfds中就是所有

2011-02-12 10:44:00 863

原创 select+NONBLOCK

补充一点:只有在使用epoll ET(Edge Trigger)模式的时候,才需要关注数据是否读取完毕了。使用select或者epoll的LT模式,其实根本不用关注数据是否读完了,select/epoll检测到有数据可读去读就OK了。<br /> <br />这里有两种做法:<br /> 1. 针对TCP,调用recv方法,根据recv方法的返回值,如果返回值小于我们指定的recv buffer的大小,则认为数据已经全部接收完成。在Linux epoll的manual中,也有类似的描述:<br /> For

2011-02-12 10:43:00 5842

c++标准库——boost程序库导论.chm

c++标准库——boost程序库导论,Boost带领你远远地超越了C++标准库,它使得C++编程更优雅、更有活力、更高产。首先,我们系统地介绍一下Boost库的主要组成和它们的主要用法。

2009-12-30

C++笔试题,华为方面的

C++笔试题,华为方面的,C++笔试题,华为方面的,

2008-09-25

空空如也

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

TA关注的人

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