我正在开发一个客户端<>服务器多人游戏.身份验证在与所有游戏逻辑等相同的服务器上完成.这意味着我的身份验证密码加密算法不会花费太多的计算时间,因为它会延迟所有其他所需的操作.如果许多人同时登录,那么当使用非常强大的加密算法时会导致明显的延迟,这需要花费大量时间来处理.
这就是为什么我在寻找一种平衡:一种加密算法,它仍然可靠,不易破解但速度足以在同一台服务器上执行.您有什么推荐的吗?
authentication encryption algorithm performance client-server
Hy.我有一个客户端服务器应用程序.服务器侦听某个端口,并为每个客户端生成一个管理它的线程.这是基于套接字并且类似于此但客户端在Swing接口启动时进行连接,它调用方法有时会将inf发送到服务器并在关闭时关闭流和套接字.服务器线程保持唤醒状态,直到客户端套接字离开,并侦听请求.
我想要做的是.当一个客户端从界面做某事(按下一个按钮),通知所有其他客户端,我被卡住了.我是这样做的.我必须通过使用观察者模式来做到这一点,并且我不知道在这种情况下使用它.如何通知所有踏板他们将如何通知其他客户?
任何消化egen虽然与观察者模式无关,但是很受欢迎.Thanx
我在java Swing中编写了一个应用程序,它运行在局域网下的8台机器上并访问一个mysql数据库.该程序运行正常.但是,现在我的客户决定在远程位置建立一个新分支,该分支应连接到现有分支.如何修改/扩展我的应用程序以处理这种情况.客户希望在正常的互联网连接中使用它.任何想法都将是很有帮助的.
我可以apk不下载安装文件吗?该apk文件位于服务器上.我尝试了下面的代码,但它不起作用:
public static void InstallProgram(Uri uri, Context context){
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri,"application/vnd.android.package-archive");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
哪里uri是http://192.168.43.1:6789/mobile_base/test.apk.它返回一个错误:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://192.168.43.1:6789/mobile_base/test.apk typ=application/vnd.android.package-archive flg=0x10000000 }
Run Code Online (Sandbox Code Playgroud)
如果你有一些想法,你可以与我分享.谢谢.
要求:
我对如何让我的客户端将对象发送到服务器的理解有问题。所以我有一个名为“RMIInterface”的接口和客户端“RMIClient”和服务器“RMIServer”类:
RMI接口
public interface RMIInterface extends Remote {
public String getMessage(String text) throws RemoteException;
}
Run Code Online (Sandbox Code Playgroud)
客户端
public class RMIClient {
private void connectToServer() {
try {
Registry registry = LocateRegistry.getRegistry("127.0.0.1", 1099);
RMI rmi = (RMI) registry.lookup("server");
System.out.println("Connected to Server");
String text = rmi.getMessage("RMITest Message");
System.out.println(text);
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) {
RMIClient client = new RMIClient();
client.connectToServer();
}
}
Run Code Online (Sandbox Code Playgroud)
RMI服务器
public class RMIServer extends UnicastRemoteObject implements RMIInterface {
public RMIServer() throws RemoteException …Run Code Online (Sandbox Code Playgroud) 我正在尝试用 C 语言制作一个服务器和一个客户端(TCP),它们将充当一个简单的聊天系统。我对这些事情知之甚少,并且一直在参考这个服务器示例和这个客户端示例 。
注意:按照我有限的研究建议,我将 bzero() 和 bcopy() 更改为 memset() 和 memcpy(),但是在这两种情况下都发生了错误。除此之外,我自己的客户端仅在格式和输出方面与链接示例不同。
int sockfd, portno, n;
struct sockaddr_in serv_addr;
struct hostent * server;
char buffer[256];
if (argc < 3) {
fprintf(stderr,"usage %s hostname port\n", argv[0]);
exit(0);
}
portno = atoi(argv[2]);
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0) { perror("failed_socket_open"); exit(1); }
server = (struct hostent *)gethostbyname(argv[1]);
if (server == NULL) {
fprintf(stderr,"host isn't real, everything is a lie\n");
exit(0);
}
memset((char *) &serv_addr, 0, sizeof(serv_addr)); …Run Code Online (Sandbox Code Playgroud) 我想在 Python 中实现一个 RAW 套接字,然后将数据从客户端发送到服务器。
与普通套接字不同,我尝试使用以下定义
s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW)
Run Code Online (Sandbox Code Playgroud)
但命令为
s.listen(1), s.connect()
Run Code Online (Sandbox Code Playgroud)
不工作。我不知道如何对 Client.py 和 Server.py 进行编程。有人能帮我吗?
我正在尝试用 Python 编写我的第一个客户端-服务器应用程序。我的客户端向服务器端发送不同的命令。例如,其中之一是用于在命令 shell 中执行命令。看起来像:
client.send("execute".encode("utf-8"))
client.send(command.encode("utf-8"))
Run Code Online (Sandbox Code Playgroud)
在服务器端,我尝试以这种方式接收它:
data = client.recv(BUFF_SIZE).decode("utf-8").strip()
if data == "execute":
command = client.recv(BUFF_SIZE).decode("utf-8").strip()
...
Run Code Online (Sandbox Code Playgroud)
但我在“data”变量中得到“execute{command}”字符串,并且 ==“execute”条件未满足。我是客户端-服务器应用程序的新手,不知道如何正确执行它。我做错了什么?
我在 python 中使用了 pickle 函数来解决套接字编程问题。但是我在服务器上收到的输出被打印为“< main .ProcessData instance at 0x7fbacba37f38>”,而不是发送的内容。
服务器端和客户端代码如下:
服务器
import socket, pickle
class ProcessData:
print "Server is Listening....."
print "Server is Listening....."
HOST = 'localhost'
PORT = 50007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
data = conn.recv(4096)
data_variable = pickle.loads(data)
conn.close()
print data_variable
print 'Data received from client'
Run Code Online (Sandbox Code Playgroud)
客户
import socket, pickle
class ProcessData:
print 'ABCDEFGHIJK'
HOST = 'localhost'
PORT = 50007
# Create a socket connection.
s …Run Code Online (Sandbox Code Playgroud) client-server ×10
sockets ×6
java ×3
python ×3
algorithm ×1
android ×1
architecture ×1
c ×1
encryption ×1
performance ×1
perl ×1
pickle ×1
raw-sockets ×1
rmi ×1
streaming ×1
swing ×1
tcp ×1