可爱熊个人博客

Objective-C 之同步请求、异步请求、GET请求、POST请求

1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作,
2、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行
3、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;
4、POST请求,将参数放到body里面。POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获。

1、 同步GET请求

 //第一步,创建URL
    NSURL *url = [NSURL URLWithString:@"http://www.shiniv.com/test.php?type=get"];
     
    //第二步,通过URL创建网络请求
    NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    //NSURLRequest初始化方法第一个参数:请求访问路径,第二个参数:缓存协议,第三个参数:网络请求超时时间(秒)
      其中缓存协议是个枚举类型包含:
      NSURLRequestUseProtocolCachePolicy(基础策略)
      NSURLRequestReloadIgnoringLocalCacheData(忽略本地缓存)
      NSURLRequestReturnCacheDataElseLoad(首先使用缓存,如果没有本地缓存,才从原地址下载)
      NSURLRequestReturnCacheDataDontLoad(使用本地缓存,从不下载,如果本地没有缓存,则请求失败,此策略多用于离线操作)
      NSURLRequestReloadIgnoringLocalAndRemoteCacheData(无视任何缓存策略,无论是本地的还是远程的,总是从原地址重新下载)
      NSURLRequestReloadRevalidatingCacheData(如果本地缓存是有效的则不下载,其他任何情况都从原地址重新下载)
    //第三步,连接服务器
    NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
     
    NSString *str = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
     
    NSLog(@"%@",str);

Read More…

Objective-C和PHP进行json交互

由于ASIHttpRequest的作者已经明确不再维护这个库了,所以我使用了较为轻量的MKNetworkKit库。

服务端,PHP自带了json的序列化和反序列化函数:json_encode和json_decode。而对于客户端,我采用了TouchJSON这个开源库。

BTW,GitHub已经是新一代的、主流的开源文化和产业了,上面提到的开源库,都来自GitHub。 :)

首先,客户端利用MKNetworkKit库向服务端发个请求:

MKNetworkOperation *op = [self operationWithPath:path params:(NSMutableDictionary *)params httpMethod:@"POST"];

服务端收到请求后,构造返回参数,然后回馈给客户端:

$arr = array();
$arr['code'] = 200;
$arr['msg'] = '你好,中文';

$jsonData = json_encode($arr);
echo $jsonData;

Read More…

objective-c中生成随机数的方法

本文简述objective-c中生成随机数的几种常见的方法,分享给大家,希望能给大家带来一点借鉴价值。具体如下:

1)、arc4random()方法:比较精确不需要生成随即种子

使用方法如下 :

通过arc4random() 获取0到x-1之间的整数的代码如下:

1
int value = arc4random() % x;

获取1到x之间的整数的代码如下:

1
int value = (arc4random() % x) + 1;

2)、CCRANDOM_0_1()方法:在cocos2d中使用 ,范围是[0,1] Read More…

本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2dx/603.html

 

可能很多童鞋有点疑惑-。 -昨天刚写了如何搭建Cocos2d-X开发环境,这一篇就开始总结了。。。。。可怜

不得不说要说总结,因为Cocos2d-X的代码和Cocos2d-iphone两个引擎除了语言不同外(Cocos2d-X使用C++,Cocos2d-iphone使用Object-C)可以说没有其他差异=。 =

下面Himi举例对比几段代码来说明吧:

   创建添加一个精灵代码对比:

              使用Cocos2d-X:

  1. //———Cocos2d-X代码部分–
  2.    //创建一个精灵
  3.    CCSprite *spriteTemp =CCSprite::spriteWithFile(“icon.png”);
  4.    //设置精灵的坐标
  5.    spriteTemp->setPosition(ccp(size.width*0.5,size.height*0.5));
  6.    //将精灵添加到layer中
  7.    this->addChild(spriteTemp,1);

使用Cocos2d-iphone:     Read More…

使用PPTP配置Linux上的VPN服务器

PPTP是一个比较简单的VPN构建方式,但是很难找到比较全的说明文档。因此,记录一篇说明文档,详细记录架设VPN服务器以及总结一些其他比较容易遇到的问题。

安装PPTP
基本上安装pptp是比较简单的了,比如在我的CentOS6.4 x64上,只需要两个命令:

rpm -i http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
yum -y install pptpd

如果是Ubuntu的话,更加简单了:

apt-get install pptpd

配置IP地址
基本上程序的安装是全自动完成的了,下面需要进行一些简单的配置,编辑/etc/pptpd.conf ,在最后加入IP地址配置:

localip 10.0.0.1
remoteip 10.0.0.100-200

上面的IP地址是可以随便填的,ABC三类的内网地址都可以,主要兼顾其他地方的IP配置,不要出现IP冲突就可以了,后面的remoteip,默认从第一个10.0.0.100开始分配给客户,localip表示分配给服务器的内部网关地址。 Read More…

Linux里使用SSH代理翻墙最简单的方法!

1、在终端下输入命令:

  1. ssh -qTfnN -D 7070  xxx@x.x.x.x

之后输入SSH密码,如果SSH端口不是22,而是自定义的,则为:

  1. ssh -qTfnN -D 7070 xxx@x.x.x.x -p port

上面的xxx表示SSH账号名,x.x.x.x表示SSH的服务器地址,port表示SSH的端口号,默认为22。

2、安装Firefox浏览器的扩展AutoProxy(下载地址)
试过好几种,发现AutoProxy是Firefox浏览器里最好用的代理工具。

安装之后,打开 AutoProxy首选项——代理服务器——选择代理服务器,选择ssh -D选项。

这种方法的前提是你有国外的SSH账号,偶的是自己的。网上也有很多免费的,可以Google搜索 ssh免费代理 。

phpwind 7.0数据库结构

1. cdb_access 用户访问权限表
2. cdb_activities 活动数据表
3. cdb_activityapplies 活动申请表
4. cdb_adminactions 关联用户组表
5. cdb_admincustom 后台操作记录表
6. cdb_admingroups 管理组数据表
7. cdb_adminnotes 后台留言表
8. cdb_adminsessions 管理员认证表
9. cdb_advertisements 后台广告表
10. cdb_advcaches 广告缓存表
11. cdb_announcements 论坛公告表
12. cdb_attachments 附件数据表
13. cdb_attachpaymentlog 附件付费日志表
14. cdb_attachtypes 附件类型表
15. cdb_banned 禁止访问表
16. cdb_bbcodes Discuz! 代码表
17. cdb_buddys 好友信息表
18. cdb_caches 缓存数据表
19. cdb_campaigns Insenz活动表
20. cdb_creditslog 积分交易记录表 Read More…

asp.net 与动网论坛的整合

思路:     在网站登陆的时候,写Cookies,访问论坛的时候读这个Cookies,如果存在的话,就查询动网的用户表,然后写动网自己的Cookies和 Session具体方法:1.是要同步用户表,这个就不多说了.2.在asp.net做的网站中登录成功后写一个 cookie.Response.Cookies[“bhj”].Path = “/”;//实现全站共享cookie,如果不在同一个域中就设成同一个域Response.Cookies[“bhj”][“dUserName”] = “你的用户名”;Response.Cookies[“bhj”][“dPassword”] = “你的密码”;//要加密哦………………………..等等信息,在这里不多写了.3.实现cookie的全站通用必须 修改三个文件:<1>、打开inc/Dv_ClsMain.asp
寻找   Response.Cookies(Forum_sn).path=cookiepath
应该共有1个
替换为: Read More…

linux下建立软链接

实例:ln -s /home/gamestat    /gamestat

 

linux下的软链接类似于windows下的快捷方式

 

ln -s a b 中的 a 就是源文件,b是链接文件名,其作用是当进入b目录,实际上是链接进入了a目录

如上面的示例,当我们执行命令   cd /gamestat/的时候  实际上是进入了 /home/gamestat/

 

值得注意的是执行命令的时候,应该是a目录已经建立,目录b没有建立。我最开始操作的是也把b目录给建立了,结果就不对了

 

删除软链接:

   rm -rf  b  注意不是rm -rf  b/

 

ln  a b 是建立硬链接

建立链接的使用方法如下:

Read More…

kloxo mysql数据库的位置

现在mysql的数据库比较大了,用mysqldump备份时间长。

很不方便。所以只能是stop mysql后。用cp备份了。

记录下mysql的位置,方便查找。

/var/lib/mysql