标签: client-server

Cocoa客户端/服务器应用程序

在Cocoa中是否有一种方法目前被认为是创建多层或客户端服务器应用程序的最佳实践?

我是一位经验丰富的网络开发人员,我非常喜欢Python.我虽然是Cocoa的新手.我正在写的应用程序是一个大型医院的患者管理系统.预计系统会随着时间的推移存储大量数据,但在单个会话期间传输的数据非常轻(大多数只是文本).假设通信通过本地网络(有线或无线)发生.当然,它必须是高度安全的.

我能想到的最好的方法是编写一个Python REST Web服务并通过Cocoa应用程序连接到它.也许我甚至会使用Python来编写Cocoa应用程序本身.

看看Cocoa,我在Cocoa中看到了非常棒的技术,比如CoreData,但我找不到任何与客户端服务器开发类似的技术.我只是想确保我没有遗漏任何东西.

你怎么看?

真实世界的例子将不胜感激.

提前致谢.

python cocoa pyobjc web-services client-server

10
推荐指数
1
解决办法
4810
查看次数

客户端服务器上的云计算:差异,缺点和优点?

据我所知,云计算可能是软件架构师的演变,它将取代目前的一些架构,如客户端 - 服务器.

这两个架构似乎与我有相似之处(我对两者都知之甚少),但我不知道它们之间的差异.云计算在客户端 - 服务器架构上的缺点和优势是什么?

非常感谢.

architecture cloud client-server

10
推荐指数
1
解决办法
3万
查看次数

SQLite for client-server

我在Stackoverflow上看过几个SQLite性能问题,但重点是网站,我正在考虑在客户端 - 服务器场景中使用这个数据库:

  • 我预计现在一台服务器有1-10个客户端,未来可能达到50个或更多.
  • 读取略多于写入
  • 数据库将位于服务器进程后面(即:不通过网络使用直接数据库访问)

与使用PostgreSQL相比,使用SQLite会使应用程序的响应性降低吗?我的直觉告诉我,对于这些负载应该没问题,但也许有人对这种情况有一些实际经验.

sqlite performance client-server

9
推荐指数
1
解决办法
6554
查看次数

C#SQLServer检索结果并以.csv格式放置

我看了一下网站和谷歌,但我似乎无法找到一个很好的解决方案,我正在尝试做什么.

基本上,我有一个客户端服务器应用程序(C#),我向服务器发送一个SQL select语句(连接到SQL Server 2008),并希望以CSV方式将结果返回给客户端.

到目前为止,我有以下内容:

if (sqlDataReader.HasRows)
{
    while(sqlDataReader.Read())
    {
       //not really sure what to put here and if the while should be there!
    }
Run Code Online (Sandbox Code Playgroud)

}

不幸的是,我真的很想将C#与SQL连接起来.我需要有关如何简单地将结果放在csv格式的字符串中的任何提示.列和字段可能会有所不同,所以我不能像在一些网站上看到的那样使用某种东西的方法.我不确定我是否可以理解了!

我非常感谢有关如何解决这个问题的任何提示/要点!

c# sql sql-server client-server resultset

9
推荐指数
1
解决办法
2万
查看次数

同步客户端 - 服务器游戏状态

我正在制作一个客户端服务器MMO风格的游戏.到目前为止,我已经设置了框架,以便服务器和客户端相互交互以提供状态更新.服务器维护游戏状态并定期计算下一个状态,然后每隔一段时间(每n毫秒)将其发送给所有客户端.用户可以在客户端查看和响应该新状态.然后将这些操作发送回服务器进行处理并发送出去进行下一次更新.

显而易见的问题是这些更新需要时间在服务器和客户端之间传输.如果客户端的行为由该更新已经得到回服务器的时间来攻击敌人,这是非常有可能的服务器已经进行了比赛状态足够远,敌人是在同一地点不再,并超出范围.

为了解决这个问题,我一直试图找到一个好的解决方案.我看了下面的内容,它帮助了一些,但并非完全:Mutli Player Game同步.我已经得出结论,我不仅可以传输游戏的当前状态,而且可以传输其他信息,例如方向(或AI运动的目标位置)和速度.从此,我的是需要"猜"的东西,在客户端部分,实际状态是通过什么进行游戏状态n毫秒到未来(如服务器看到它).

问题是确定进展状态的时间量,因为它将取决于服务器和客户端之间的滞后时间,这可能会有很大差异.此外,我应该将游戏状态推进到客户端查看时的状态(即只考虑更新到达客户端所花费的时间),还是应该将其推进到足够远以便在发送响应时回到服务器,到那时它将是正确的状态(来往于旅程的帐户).

有什么建议?

重申:

1)计算发送和接收之间的时间量的最佳方法是什么?

2)我是否应该将客户端状态推进到足以计入整个往返时间,或者只是将数据从服务器提供给客户端所需的时间?

编辑:到目前为止我想出了什么

由于我已经有许多数据包在客户端和服务器之间来回传递,我不想在必要时添加到该流量.目前,客户端向服务器发送状态更新数据包(UDP)〜150毫秒(仅在某些内容发生变化时),然后由服务器接收和处理这些数据包.目前,服务器不会对这些数据包发送任何响应.

首先,我将让客户尝试估计他们的滞后时间.我将它默认为50至100毫秒.我建议大约每2秒(每个客户端)服务器将立即响应其中一个数据包,在特殊的定时更新数据包中发回数据包索引.如果客户端收到定时数据包,它将使用索引来计算此数据包发送的时间,然后使用数据包之间的时间作为新的延迟时间.

这应该使客户合理地保持最新的延迟,同时避免过多的网络流量.

声音可以接受,还是有更好的方法?这仍然没有回答问题二.

java synchronization udp client-server

9
推荐指数
1
解决办法
4957
查看次数

iOS客户端 - 服务器应用程序:HTTP或TCP/IP?

我即将开始设计/开发客户端 - 服务器iOS应用程序.我倾向于使用HTTP请求从/向服务器获取/发布数据,但是想确保这是正确的决定.使用套接字比http请求有什么好处.套接字更快吗?我倾向于http的一个原因是我还想拥有一个Web界面以及iOS界面.如果我创建iOS和Web应用程序都可以访问的PHP Web服务,那么我相信我正在减少开发时间.

顺便说一句,我已经阅读了这些教程,这些教程提供了套接字的一些好处,但提到的所有好处都不一定是游戏改变者.除了我不完全理解他的意思,"你可以发送你需要发送的确切数据 - 使你的协议精益和高效." 有谁知道他的意思吗?

提前致谢.

client-server ios

9
推荐指数
3
解决办法
8794
查看次数

如何在客户端 - 服务器PlayN游戏中处理RPC?

我想用PlayN创建一个客户/服务器卡片游戏,例如Hearts.虽然我主要关注的是HTML5输出,但我理想的是,如果我决定将来制作一个Android客户端,我希望能够与输出平台无关.我该如何处理RPC机制?

这些是我想到的选项:

  1. 使用JSON for RPCs和get()/ post()方法 - 编写一个接受/返回JSON的servlet,并使所有版本的客户端代码都使用它.这似乎可行,但我担心JSON的冗长.一旦我让Hearts工作,我就会转向更复杂的游戏,我担心JSON会导致在客户端和服务器之间来回传递许多大于必要的消息.我实际上并不知道如何在Java中使用JSON,但我认为这是可行的.我的假设是否在线?Java如何与JSON一起工作?
  2. 继续使用GWT-RPC.我可以通过在我的核心(平台无关)构造函数中使用异步服务接口来实现这一点,并在我的HTML main()中传递由GWT.create(MyService.class)(或至少是它的包装器)生成的GWT Async接口.我不知道这对非HTML版本有多好.我可以直接从客户端Java代码使用GWT-RPC吗?
  3. 使用其他形式的RPC.有什么建议?

rpc json client-server gwt-rpc playn

9
推荐指数
1
解决办法
1113
查看次数

使用2个函数在body onload中加载javascript

我试图在body onload中加载2个javascript事件/函数,如下所示: -

<body onLoad="getSubs(document.form1.HotelID.options[document.form1.HotelID.selectedIndex].value);getTags(document.form1.HotelID.options[document.form1.HotelID.selectedIndex].value);">
Run Code Online (Sandbox Code Playgroud)

每当我使用2个函数加载时,第一个函数就会中止 - 但是如果我只加载它就可以正常工作 - 我做错了是不可能在onload中放入2个函数?

html javascript events client-server

9
推荐指数
3
解决办法
7万
查看次数

客户端 - 服务器数据库应用程序:如何通知客户端数据已更改?

是否可以知道数据库中某些表的内容何时以及是否已更改?我的SQL Server如何通知客户端应用程序数据被另一个用户更改?如何使用dbGo实现查询通知?

我的客户是否需要轮询数据库,或者是否有回调机制?

我的客户端是Delphi应用程序TADODataSet,我的服务器是SQL Server 2005/2008,为多个客户端提供服务.

sql-server delphi client-server

9
推荐指数
1
解决办法
2672
查看次数

C socket:recv并发送所有数据

我想获得类似于此的行为:

  1. 服务器运行
  2. 客户端运行
  3. 客户端键入"帮助"或其他命令
  4. 服务器响应得当
  5. 去3

问题是,当我的函数excCommand("help")运行时,只接收并打印一个小文本.我的文本文件是这样的:

COMMAND HELP:

help - Display help
quit - Shutdown client
Run Code Online (Sandbox Code Playgroud)

仅打印命令帮助.另一个问题是,当我输入命令时,没有打印任何内容,并且在2命令客户端退出之后.特别是这件作品:

while (quit)
    {
        getLine("client> ", command, 10);
        if (strcmp(command, "quit") == 0)
            quit = 0;
        else
            excCommand(command);
    }
Run Code Online (Sandbox Code Playgroud)

这是服务器:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

#include "common.h"

int main(int argc, char *argv[])
{
    if (argc != 2)
        ErrorWithUserMessage("Parameter(s)", "<Server Port>");

    char *service = argv[1];

    int servSock = SetupTCPServerSocket(service);
    if (servSock < 0)
        ErrorWithUserMessage("SetupTCPServerSocket() failed: ", "unable to establish");

    unsigned int …
Run Code Online (Sandbox Code Playgroud)

c sockets client-server send recv

9
推荐指数
1
解决办法
7万
查看次数