我正在寻找一个javascript库,它允许我将数据存储在客户端数据库中,并在后台自动将数据库同步回服务器的数据库
支持变量引擎的东西,就像jQuery的jQuery一样
环顾四周我能找到任何东西
javascript database client-server data-storage data-synchronization
一个非常标准的C++ TCP服务器程序,使用pthreads,bind,listen和accept.我有一个场景,当我杀死一个连接的客户端时服务器结束(读取:崩溃).
崩溃的原因是write()对文件的调用失败,因此程序收到一个SIGPIPE.我想,这会让服务器退出.
我想,"当然,未处理的信号意味着退出",所以让我们使用signal():
signal(SIGPIPE, SIG_IGN);
Run Code Online (Sandbox Code Playgroud)
因为,取自man 2 write:
EPIPE fd 连接到读取端关闭的管道或插座.当发生这种情况时,写入过程也将收到SIGPIPE信号.(因此,仅当程序捕获,阻止或忽略此信号时才会看到写入返回值.)
唉,没有.无论是在服务器线程还是客户端线程中,这似乎都没有帮助.
那么,如何阻止write()呼叫发出该信号,或者(务实)如何阻止服务器退出.
我的诊断是:
pkill telnet崩溃客户端不需要的行为:服务器退出,在gdb中
... in write () at ../sysdeps/unix/syscall-template.S:82
82 T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
Run Code Online (Sandbox Code Playgroud)
和回溯:
#0 ... in write () at ../sysdeps/unix/syscall-template.S:82
#1 ... in ClientHandler::mesg(std::string) ()
#2 ... in ClientHandler::handle() ()
#3 ... in …Run Code Online (Sandbox Code Playgroud) 在java中,可以创建套接字服务器和套接字客户端,是否可以运行套接字服务器的实例,以及从同一台机器上的套接字服务器接收数据的套接字/服务器客户端?
例如,套接字服务器在端口60010上运行,套接字客户端在通过套接字连接到该端口的同一台机器上运行,或者我需要通过新机器将其添加到我的网络中?如果它在TCP/IP层上运行唯一的IP地址和端口号.
如何创建SSL套接字连接?
我真的需要创建一个密钥库?这个密钥库应该与我的所有客户端应用程序共享?
我用以下代码创建了一个服务器:
SSLServerSocketFactory sslserversocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory
.getDefault();
SSLServerSocket sslserversocket = (SSLServerSocket) sslserversocketfactory
.createServerSocket(ServerProperties.getInstance()
.getVSSPAuthenticationPort());
Run Code Online (Sandbox Code Playgroud)
我在android上用以下代码创建了一个客户端:
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory
.getDefault();
SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket(
host, authPort);
sslsocket.startHandshake();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
sslsocket.getOutputStream()));
BufferedReader reader = new BufferedReader(new InputStreamReader(
sslsocket.getInputStream()));
Run Code Online (Sandbox Code Playgroud)
但是当我尝试连接时,会抛出以下错误:
javax.net.ssl.SSLHandshakeException: no cipher suites in common
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1886)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:266)
at sun.security.ssl.ServerHandshaker.chooseCipherSuite(ServerHandshaker.java:894)
at sun.security.ssl.ServerHandshaker.clientHello(ServerHandshaker.java:622)
at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:167)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
Run Code Online (Sandbox Code Playgroud) 我试图更好地理解c#中的tcp/ip套接字,因为我想挑战自己,看看我是否可以创建一个有效的MMO基础设施(游戏世界,地图,玩家等)纯粹用于教育目的,因为我没有意图成为另一个"OMGZ iz将让我的r0x0r MMORPG比魔兽更好!!!",你知道我在说什么.
无论如何,我想知道是否有人可以阐明一个人如何设计这种系统以及需要什么样的东西,以及我应该注意什么?
我最初的想法是将系统分解为单独的客户端/服务器连接,每个连接(在自己的端口上)执行特定任务,例如更新玩家/怪物位置,发送和接收聊天消息等等.处理数据更容易,因为您不总是需要在数据上放置标题以了解数据包包含哪些信息.
这是否有意义且有用,还是我只是简单地复杂化了事情?
非常感谢您的回复.
我正在开发一个使用3个端口[TCP SOCKET .Net 4.0]的服务器 - 客户端应用程序.
因此,应用程序为用户提供了仅为主套接字设置端口的选择.但我想让服务器应用程序自动找到其他2个套接字的可用端口,以便使用主套接字连接将端口值发送到客户端.然后客户端使用接收的端口值连接到另一个套接字.
这里有一点解释:
[我知道你可能会说我应该使用相同的套接字进行文件传输和截图,但它有点复杂.我只是为每一个使用单独的套接字.]
那么在将套接字与端点绑定之前,如何找到可用端口?这样的事情:
int port = 10000;
bool isAvailable = false;
while(!isAvailable)
{
try
{
// check if the port is available to use.
isAvailable = true;
}
catch
{
port++;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用两个应用程序进行项目:android app(客户端)和rest服务(server).我的Android应用程序消耗我的休息服务.
这两个应用程序都是单独测试的,以确保它们按预期开展业务.在服务器测试期间,我准备请求并检查服务器响应 在客户端测试期间,我设置了一个简单的http模拟服务器,并针对不同的模拟响应测试客户端的请求.
现在,这种技术非常有效.它给了我一种我喜欢的灵活性.我可以使用不同的测试框架和持续集成环境.但有一个弱点.在(客户端和服务器)测试用例中,我指定了相同的api.我假设,例如
GET /foo-list.json
Run Code Online (Sandbox Code Playgroud)
将使用json返回HTTP 200
[{
id: 1,
name: foo1,
}, {
id: 2,
name: foo2
}]
Run Code Online (Sandbox Code Playgroud)
所以我重复一遍.如果我更改响应格式,我的客户端测试不会失败.
我的问题是关于测试这种情况的良好做法.如何在不牺牲独立测试灵活性的情况下进行真正的集成测试.我应该使用模拟服务器或我的休息服务的真实实例来测试客户端吗?
请分享您的专业经验.
我正在使用TLS开发客户端/服务器应用程序.我的想法是在客户端上使用证书,以便服务器对其进行身份验证.此外,服务器上还有另一个证书,因此客户端也可以验证它是否连接到正确的服务器.
我想首先测试并使用openssl s_server和openssl s_client来验证提议.
到目前为止,我已经在服务器上创建了一个CA私钥,我已经创建了一个根证书.使用根证书,我签署了两个CSR,因此我获得了一个服务器证书和一个客户端证书.
我还在客户端上安装了客户端证书+根证书,在服务器上安装了服务器证书+根证书.
我现在想要尝试在openssl s_server和openssl s_client之间建立连接,并验证它们是否相互进行了身份验证,但我无法用如何执行此操作的文档.任何帮助或任何指导?
一旦我完成了这个设置,下一步就是针对该服务器测试自己开发的客户端,并针对s_client测试我们自己开发的服务器.我们可以用它进行测试吗?
谢谢
我有一个"服务器"python脚本在一台本地网络机器上运行,它等待客户端连接,并传递一些工作要做.服务器和客户端代码都已编写,并按预期工作...
问题是,这台服务器可能是从本地网络中的任何一台机器运行的,所以我不能对脚本中的地址进行硬编码......我立刻想知道我是否可以让机器做广告,告诉它是否存在,客户可以回复那个.使用标准库在Python中可行吗?不幸的是,我真的没有时间下载扭曲或龙卷风并了解它们,所以我需要一些简单的东西.
我试图更多地考虑它,并意识到我可以有一台静态IP机器,服务器注册/取消注册,客户端可以从那里寻找服务器.我想,有点像洪流跟踪器.如果我不能轻易地做出服务广告方法,那就必须这样做.
client-server ×10
sockets ×6
c# ×2
java ×2
ssl ×2
.net ×1
android ×1
c ×1
c++ ×1
certificate ×1
client ×1
data-storage ×1
database ×1
javascript ×1
localhost ×1
mocking ×1
networking ×1
openssl ×1
port ×1
python ×1
server-push ×1
signalr ×1
signals ×1
testing ×1
wpf ×1