我最近决定参与一个非常重要的软件工程项目,该项目将涉及开发基于客户端 - 服务器的应用程序.我的计划是开发尽可能多的客户端:包括原生iPhone,Android和Blackberry应用程序以及基于Web的应用程序.
对于我的服务器,我打算使用VPS(可能来自slicehost.com)运行带有MySQL数据库的Linux.我的第一个问题是客户端与服务器接口的策略应该是什么.我的想法是:
使用PHP脚本进行基于HTTP-POST或GET的通信.
这是我非常熟悉的 - 从表单传递信息到PHP脚本,使用它并返回输出.我假设我想要将输出作为某种基于XML或JSON的字符串返回给客户端.我还假设我想为想要与我的服务器连接的客户端创建一个定义良好的API.
基于套接字的通信与PHP脚本,Java程序或C++程序
这个我不太熟悉.我使用过基本教程来创建脚本或创建套接字的简单应用程序,监听连接并返回数据.我假设使用此方法的通信数据开销远远少于基于HTTP的方法.我的梦想是有大量并发客户端在使用,所有客户端都在使用服务器/数据库.我不确定基于HTTP/PHP脚本的简单通信设计是否可以有效扩展以满足许多客户的需求.此外,我最终可能希望将服务器推送功能发送给由各种服务器事件触发的客户端.我也不确定哪种编程语言最适合这种情况.如果效率是一个大问题,我认为PHP脚本可能效率不高?
有一种普遍接受的方式吗?对我而言,这是尝试弥合我目前的一些技能之间的差距.我在PHP方面有很多经验,并且与MySQl数据库连接以提供动态网页.我也有很多开发本机iPhone应用程序的经验(但是没有任何基于服务器的重要通信).我也使用过Java/C++,并且开发了两种与MySQL接口的语言的应用程序.
我不希望我的客户向服务器发送/从服务器接收大量数据.与给定客户端事件的一组字符串相同的东西.
另一个问题:使用VPS - 好主意?我显然不想支付一个完全专用的服务器(slicehost提供的VPS起价为每月20美元左右),而且我假设一个VPS能够满足一些初始客户端的要求.随着越来越多的用户开始与我的服务器接口,我假设它可以迁移到越来越大的"切片",并且可能最终在必要时移动到完全专用的服务器.
感谢您的建议!:)
我正在尝试将Java代码转换为Objective C代码.并且java代码包含定义为volatile的变量.我在网上查看了java中的"volatile"用法,如下所示
Essentially, volatile is used to indicate that a variable's value will be modified by different threads.
Run Code Online (Sandbox Code Playgroud)
所以,如果我要在Objective C中将变量设置为volatile,因为变量将由不同的线程访问,那么我不需要将这些变量设置为volatile,因为我可以将这些变量设置为atomic?
我有要求我们必须在Linux上读取一个小的XML文件.我们的应用程序是用C++编写的,我喜欢使用任何轻量级的XML库.请建议我图书馆.谢谢
所以我有这个简单的登录功能,试图将电子邮件地址与数据库中的密码匹配,并通过表单将其与用户输入的数据进行比较.
function login($email, $password){
$m = new Mongo("localhost");
$m->connect();
$db = $m->users;
$collection = $db->test_collection;
echo "<pre>";
var_dump($collection->findOne(array('name' => 'john'))); //returns correctly
var_dump($collection->find(array('name' => 'john'))); //returns mongo cursor object
echo "</pre>";
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么find()只返回一个游标对象.答案?
这是mongo文档
array(5) {
["_id"]=>
object(MongoId)#22 (1) {
["$id"]=>"4d7eaa848baf84d32b000000"
}
["activated"]=> (true)
["email"]=> "john@smith.com"
["name"]=> "john"
["password"]=> "334c4a4c42fdb79d7ebc3e73b517e6f8"
}
Run Code Online (Sandbox Code Playgroud)
如何在同一文档中找到可以同时找到电子邮件和密码的"WHERE"查询?我显然没有得到find()和findOne()查询的参数.PHP中的正确语法是什么?
如何设置boost::posix_time::duration为正无限?该类包含一个is_pos_infinite函数,该函数检索duration::tick_type::pos_infinite以进行比较,但我无法弄清楚如何检索此值并使用它来设置持续时间.
我正在使用一个小书签,在新窗口中打开一个网页.它适用于chrome.
但是,当我在Firefox中使用相同的内容时,它会打开一个带有新网页的新窗口,但点击此书签的页面将转发到带有文本的某个页面[object Window].我该如何解决这个问题?
我的代码:
<a href="javascript:open('http://www.google.com','targetname','height=500,width=500');">Bookmarklet</a>
Run Code Online (Sandbox Code Playgroud)
请让我知道如何解决这个问题.
谢谢
我目前正在编写一个程序,我需要在浮点后计算舍入值到2位数.说,我已经宣布了
float a;
Run Code Online (Sandbox Code Playgroud)
如果a = 3.555那时它会存储a = 3.56,四舍五入.
因为a = 3.423,a的价值是a = 3.423,没有变化.
我可以这样做来打印输出,但是在将它存储到变量中并将该变量用于其他计算时我需要做什么?
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="First Category"
android:textSize="20px">
<CheckBoxPreference
android:title="Checkbox Preference"
android:defaultValue="false"
android:summary="This preference can be true or false"
android:key="checkboxPref" />
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
我需要改变android:title的字体大小PrefereceCategory,CheckboxPreference和android:summary大小.这些标签没有任何android:textSize属性.任何人都可以帮我解决这个问题吗?
希望这是一个容易回答的问题.如何在Android中获取支持的视频捕获大小列表?另外,如何获得支持的视频捕获帧速率列表?我正在寻找相当于Camera.getParameters().getSupportedPictureSizes(),仅用于视频......
我需要一个适用于API Level 7的解决方案,谢谢.
c++ ×3
android ×2
bookmarklet ×1
boost ×1
c ×1
firefox ×1
javascript ×1
linux ×1
mongodb ×1
mongodb-php ×1
objective-c ×1
php ×1
sockets ×1
sqlite ×1
xml ×1