做为一名客户端开发者,工作了几年之后,发现自己确实需要了解下,服务器到底是如何设计、工作的。掌握了客户端的开发,如果在会一点服务器的开发,那么对项目整体的把握会有一个新的认识。最不济在开发客户端的同时,也不必整天追着服务器的人员寻求配合,自己可以搭建一个简单的本地服务器进行代码功能测试。
(1)hello web
先介绍下我使用的开发平台:XAMPP(apache+mysql+php)快速继承工具。支持mac windows linux。
我的是在mac下安装的,使用起来非常简单。安装直接下一步,下一步。
然后在本地输入一个网址:
http://localhost/xampp/
如果可以看到正常的现实界面,那么说明xampp没有什么问题可以正常的工作。
下面介绍下php文件以及数据库文件都放在什么地方:
数据库存放在:
/Applications/XAMPP/xamppfiles/var/mysql/
数据库文件格式有:frm ibd frm表结构描述文件 ibd数据库数据文件。根据不同的解释器 这两个文件的格式可能不同。
php文件存放路径:
/Applications/XAMPP/xamppfiles/htdocs/
好了,先来看一段最简单的php代码:
<!DOCTYPE html>
<html>
<head>
<title>A PHP script including HTML</title>
</head>
<body>
<?php
echo "Hello Web!";
?>
</body>
</html>
这段代码写完之后,保存为php文件后缀,并且存放在htdosc文件目录下,在浏览器上输入网址http://localhost/test.php
(2)IOS客户端+PHP服务器
下面我们再来介绍下IOS客户端+php服务器get请求响应的方法:
首先看看php服务器代码怎么写:
<?php
echo "Hello Web!";
if($_GET) {
foreach($_GET as $index => $value) echo "$index = $value\n", "<BR/>";
}
?>
echo "" 返回响应的字符串$_GET 表明Get请求,并且所有的请求数据都是数组的形式存储在_GET变量中。
foreach 对数组进行遍历。遍历的数组下标存储在index变量中。数组的值放在value变量中。
如果采用这种遍历:
foreach ($_GET as $value) 这是遍历数组中的所有值。
当然也可以用这种for 循环。
for (expr1; expr2; expr3): statement; ...; endfor;
IOS客户端代码:
NSString *urlAsString = @"http://localhost/testGet.php";
urlAsString = [urlAsString stringByAppendingString:@"?id=First"];
urlAsString = [urlAsString stringByAppendingString:@"&password=Second"];
NSURL *url = [NSURL URLWithString:urlAsString];
NSMutableURLRequest *urlRequest =
[NSMutableURLRequest requestWithURL:url];
[urlRequest setTimeoutInterval:30.0f];
[urlRequest setHTTPMethod:@"GET"];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection
sendAsynchronousRequest:urlRequest
queue:queue
completionHandler:^(NSURLResponse *response,
NSData *data,
NSError *error) {
if ([data length] >0 && error == nil){
NSString *html =
[[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"HTML = %@", html);
}
}输出结果:
Hello Web!id = First
<BR>password = Second
<BR>