如果我在客户端 - 服务器类型软件的后端使用MS Access并且数据库文件是从客户端发送到服务器的,那么与SQL Server相比,它是否会在进一步的数据库处理,传输速度或性能方面产生任何问题?
我想把一个小游戏扔在一起并把它放到网上.这将是多人游戏(理想情况下它将是MMO,但它是一个侧面项目,所以我会满足于MO hehe),内容相当不重要.我打算用Java编写游戏(服务器和客户端).
我正在考虑我可靠的选择来获取可靠的信息.JMS对此有用吗?我需要更多(如果是,那是什么)?还有更好的选择吗?
我过去做了几场比赛,但没什么多人游戏.我使用的是一个使用JMS的应用程序,并且有很多教程,所以这就是为什么我认为它会起作用......但我真的很开放.
谢谢!
编辑:看来我有很多东西要学习JMS.也许我的问题应该改为:"JMS的哪些实现最能满足我对MMO的目的?"
迄今为止的标准:
我有两个 android 设备,A 是服务器,B 是客户端,并通过套接字连接,服务器/客户端如何知道彼此是断开连接还是关闭,
我尝试过 isconnect(),但没有用。
我正在为我的大学项目做一个客户端 - 服务器项目,我们必须将登录分配给客户端.
客户端系统将每2秒请求其状态(以检查客户端是锁定还是解锁).和服务器将接受客户端请求并将客户端状态回复给系统.
但问题是服务器线程没有响应客户端请求.
客户线程:
def checkPort():
while True:
try:
s = socket.socket()
s.connect((host, port))
s.send('pc1') # send PC name to the server
status = s.recv(1024) # receive the status from the server
if status == "unlock":
disableIntrrupts() # enable all the functions of system
else:
enableInterrupts() # enable all the functions of system
time.sleep(5)
s.close()
except Exception:
pass
Run Code Online (Sandbox Code Playgroud)
服务器线程:
def check_port():
while True:
try:
print "hello loop is repeating"
conn, addr = s.accept()
data = conn.recv(1024)
if exit_on_click …Run Code Online (Sandbox Code Playgroud) 您好亲爱的程序员,我需要您的帮助.
我做了一个非常非常简单的Java套接字(客户端 - 服务器)项目,效果很好.但是当我使用那个客户端代码来制作它的android时,它不起作用,但我只为android制作客户端代码,服务器代码再次使用Java(也许我应该在android中制作服务器代码?)
服务器(Java)
public class DailyAdviceServer{
public void go() {
try {
ServerSocket serverSock = new ServerSocket(16242, 50);
while (true)
{
Socket sock = serverSock.accept();
PrintWriter writer = new PrintWriter(sock.getOutputStream());
String advice = getAdvice();
writer.println(advice);
writer.close();
System.out.println("smth");
}
} catch (IOException ex)
{
ex.printStackTrace();
}
}
public static void main(String[] args)
{
DailyAdviceServer server = new DailyAdviceServer();
server.go();
}
Run Code Online (Sandbox Code Playgroud)
}
客户端(在Android中)
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
TextView tv …Run Code Online (Sandbox Code Playgroud) 服务器端
用Node.js编写的服务器将处理一些请求并发送客户端应用程序需要为用户打印的文本消息.
客户端
客户端将从服务器接收消息并将其打印出来.客户端将在PC中运行.
我的同事和我正在质疑什么技术最适合客户端应用程序,看看它将是多么简单.它所要做的就是拥有一个很好的GUI,可以打印出从服务器收到的任何消息.
Node.js的
一种可能性是使用Node.js,html,css和javascript构建客户端应用程序.这方面的主要优点是服务器采用相同的技术构建,通过套接字进行通信非常容易.不需要从客户端进行轮询,因为它们将始终通过套接字连接,并且每当服务器收到消息时,它都会将其推送到客户端,客户端将采取相应的行动.
JavaFX的
这将是另一种可能性,因为GUI将具有动画,并且它需要尽可能平滑.这里的问题是缺乏JavaFX的经验,以及它在与服务器的持续连接中的执行情况.
我真的很感激有经验的人的见解.
我对 node js 很陌生。我正在尝试使用 node js 创建一个简单的 coap 客户端和服务器。我可以创建一个文本文件所在的服务器。我想从客户端访问它。
var coap = require('coap');
var str = "";
var req = coap.request("coap://localhost:5683");
req.on("response", function(chunk){
str +=chunk;
console.log(str);
chunk.pipe(process.stdout);
});
Run Code Online (Sandbox Code Playgroud)
这段代码给我的输出是 [object Object]。我如何获得这个的字符串形式。
我正在尝试在localhost中创建一个客户端/服务器程序,但客户端无法连接到服务器,我不知道我做错了什么.
我试图调试程序,所有参数似乎都没问题.服务器确实绑定,连接,监听和接受.
使用客户端代码获取connect: Invalid argument错误.客户端(我从控制台调用客户端./client localhost):
#include <netinet/in.h>
#include <netdb.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
int main(int argc, char * argv[])
{
int cd;
struct hostent *hp;
struct sockaddr_in s_ain;
unsigned char byte;
hp = gethostbyname(argv[1]);
bzero((char *)&s_ain, sizeof(s_ain));
s_ain.sin_family = AF_INET;
memcpy(&(s_ain.sin_addr), hp->h_addr, hp->h_length);
s_ain.sin_port = htons(1025);
cd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if( connect(cd, (struct sockaddr*) &s_ain, sizeof(s_ain) == -1) ) {
fprintf(stderr, "connect: %s\n", strerror(errno));
return -1;
}
printf("%s\n", "IT WORKS!");
close(cd);
return …Run Code Online (Sandbox Code Playgroud) 我试图将图像文件从一台PC(客户端)发送到运行MATLAB的另一台PC(服务器),输出图像为空.
从另一个讨论中,我了解到主要问题是Java和MATLAB之间存在一些"图像矩阵不匹配".但是,我并不完全理解这个问题.
如果你能给我一些建议,我将不胜感激.
客户端Java代码:
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import javax.imageio.ImageIO;
public class myclientimage
{
public static void main(String args[]) throws IOException
{
BufferedImage img = ImageIO.read(new File("D:\\zzz.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(img, "jpg", baos);
baos.flush();
byte[] buffer = baos.toByteArray();
DatagramSocket clientSocket = new DatagramSocket();
InetAddress IPAddress = InetAddress.getByName("192.168.0.102");
System.out.println(buffer.length);
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, IPAddress, 9091);
clientSocket.send(packet);
System.out.println("aaaa");
}
}
Run Code Online (Sandbox Code Playgroud)
服务器MATLAB代码:
udpA=udp('192.168.0.104', 9090,'LocalPort', 9091);
fopen(udpA);
A = fread(udpA, …Run Code Online (Sandbox Code Playgroud) 我的问题是基于以下理解
我试图实现我自己的服务器,其中 socket() 和 accept() 返回不同的套接字描述符值(是否总是这样?)。我的问题是为什么说如果服务器中没有打开新端口,accept() 会创建一个新套接字,并且 ip:port 对于 socket() 和 accept() 返回的套接字描述符是相同的。如果新套接字是由 accept() 创建的,它与 socket() 创建的套接字有何不同?