标签: client-server

我应该如何捕获点击流数据?

我想开始使用点击流分析来改善动态网站的用户体验。我想排除两个选项:参数化 URL (index.php?src= http://www.example.com ) 和立即数据库日志记录。前者会生成非常难看的 URL,并且不利于 SEO,而后者在有大量并发用户时可能会减慢页面渲染速度。

假设这些不是可行的选项,我想我只能对服务器端脚本执行异步 POST,该脚本运行数据库查询并返回 204(无数据)响应。这是捕获点击流数据的最佳选择吗?

client-server client-side

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

如何使用GKSession实现Master-Client模型?

我现在正在与GKSession合作.我想连接两台以上的iPad.

我可以使用蓝牙GKSession PeerPickerController连接其中两个.我对这些东西很新.

任何人都可以给我一些指针或指向实现这种模型的教程的链接吗?

client-server gksession ios

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

你如何在C#中导入公钥?

我可以创建服务器和客户端的非对称密钥,然后导出它们并尝试交换它们。我的问题,我一直无法找到解决方案,是我想将服务器的公钥导入客户端程序。它以字节 [] 的形式出现,但我需要能够将其用作 RSAParameters 才能加密数据以发送到服务器。如何将 byte[] 转换为 RSAParameters 类型?

private void secureButton_Click(object sender, EventArgs e)
        {
            clientRSA = new RSACryptoServiceProvider();
            byte[] clientPublicKey = clientRSA.ExportCspBlob(false);

            stm.Write(clientPublicKey, 0, clientPublicKey.Length);
            stm.Read(serverPublicKey, 0, serverPublicKey.Length);
        }
Run Code Online (Sandbox Code Playgroud)

我知道这不是一种“安全”的方法,因为它容易受到 MITM 的影响,但我正面临学校的最后期限,这是我需要克服的砖墙,才能继续进行下去。

任何帮助,将不胜感激。提前致谢。

c# client-server rsa

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

客户端未从 socket.io 中的服务器接收消息

我的服务器想在连接时向客户端发送一条消息。然后客户端向服务器发送消息。

当客户端向服务器发送消息但客户端未收到服务器应在连接上发送的初始消息时,我的代码工作正常

这是我的小代码:)

服务器

var app = require('http').createServer(handler),
  io = require('socket.io').listen(app, { log: false }),
  fs = require('fs');

app.listen(8001);

function handler(req, res) {
  fs.readFile(__dirname + '/client1.html', function(err, data) {
    if (err) {
      console.log(err);
      res.writeHead(500);
      return res.end('Error loading client1.html');
    }
    res.writeHead(200);
    res.end(data);
  });
}

io.sockets.on('connection', function (socket) {
    console.log("running time");
  socket.emit("serverMessage","server says hi");

  socket.on('clientMessage', function () {
       console.log("client message recieved");
  });      
});
Run Code Online (Sandbox Code Playgroud)

客户

 <html>
  <head>
    <script src="/socket.io/socket.io.js"></script>
       <script>
         socket = io.connect("http://localhost:8001");
          socket.on('connection', function(socket) {
               socket.on("serverMessage", function(d) {
               console.log("server …
Run Code Online (Sandbox Code Playgroud)

javascript client-server node.js socket.io

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

连接到wifi热点后获取本地地址(服务器)

我正在通过使用套接字编程来处理客户端服务器线程...客户端和服务器都是android设备,启用了热点的服务器和启用了wifi的客户端.现在客户端有Server的密码,它已经连接到服务器,但现在我需要IP服务器或主机地址来发送和接收它们之间的数据.服务器有IP和客户端有IP,但客户端如何自动获取服务器IP?

我用了

WifiInfo wif = mWifiManager.getConnectionInfo();
int wifI = wif.getIpAddress();

String wifiS = ( wifI & 0xFF)+ "."+((wifI >> 8 ) & 0xFF)+"."+((wifI >> 16 ) & 0xFF)+"."+((wifI >> 24 ) & 0xFF);
Run Code Online (Sandbox Code Playgroud)

但是发现它只给出了客户自己的IP ......这个解决方案是什么?

sockets client-server wifimanager android-wifi personal-hotspot

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

通过套接字发送数据不起作用

我正在尝试通过套接字制作国际象棋游戏。有一个服务器负责将棋盘发送给玩家,以获取输入和响应等等。我试图创建一个客户端服务器(实际上是 2 个客户端和服务器),但它不起作用。客户端正确连接到服务器,但传递的数据不正确。例如,我从客户端发送“E2-C3”;recv 结果(在服务器端)始终为 0,否则会打印垃圾。

客户 :

#define WIN32_LEAN_AND_MEAN

#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <string>
#include <sys/types.h>

// Need to link with Ws2_32.lib, Mswsock.lib, and Advapi32.lib
#pragma comment (lib, "Ws2_32.lib")
#pragma comment (lib, "Mswsock.lib")
#pragma comment (lib, "AdvApi32.lib")

using namespace std;


#define SERVER_IP "1.1.1.1"
#define SERVER_PORT 8888
#define BUFFER_SIZE 1024

// server side 
#define INVALID_MOVE 00
#define PLEASE_ENTER_A_MOVE 15
#define PRINT_BOARD 20
#define END_GAME 30

// client side
#define MOVE 10

int …
Run Code Online (Sandbox Code Playgroud)

c++ sockets networking network-programming client-server

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

NetworkStream.Read() 不起作用并抛出 ArgumentOutOfRangeException

只是想创建一个聊天服务器客户端

  1. 这是等待客户端连接的服务器(可选)*

        TcpListener serverSocket = new TcpListener(8888);
        int requestCount = 0;
        TcpClient clientSocket = default(TcpClient);
        serverSocket.Start();
        Console.WriteLine(" >> Server Started");
        clientSocket = serverSocket.AcceptTcpClient();
        Console.WriteLine(" >> Accept connection from client");
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后,客户端连接到服务器(可选)*

        System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();
        clientSocket.Connect("127.0.0.1", 8888);
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后,在客户端,我从 Windows 窗体发送消息,按钮单击事件执行以下操作:

    NetworkStream serverStream = clientSocket.GetStream();
    byte[] outStream = System.Text.Encoding.ASCII.GetBytes(textBox2.Text + "$");
    serverStream.Write(outStream, 0, outStream.Length);
    serverStream.Flush();
    //this goes to the server  ------> to the part (4)
    
    //returning from the server <------
    byte[] inStream = new byte[10025];
    serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
    string returndata = …
    Run Code Online (Sandbox Code Playgroud)

c# sockets tcp chat client-server

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

多个 UDP 套接字和多个客户端

我必须使用 UDP 套接字编写一个程序,但我无法理解在我遇到的情况下应该做什么。

我有一个服务器和一个客户端。服务器在 INADDR_ANY 套接字上接收数据报,并且对于出现的每个唯一客户端,它将向()发送大量信息。每个客户端还定期向服务器发送数据。

对于联系侦听套接字的每个客户端,我们将其称为 0,我为其创建一个单独的套接字,这样我就可以向它发送数据而不会阻塞套接字 0。我想要做的是将与特定客户端的所有通信移动到新套接字. 我可以这样做吗?目标是使通信更容易、更高效并避免阻塞任何套接字。

所以我未能找到答案的问题是:

  • 我可以从那个特定客户端的那个套接字接收数据吗?
  • 如果没有,如果我不经常执行 recvfrom,所有客户端写入套接字 0 是否会阻塞它?
  • 如果可以在单独的套接字上从特定客户端接收数据,该数据是否会同时到达套接字 0 和特定套接字?

我知道 TCP 会为此工作得更好,但我必须使用 UDP。我该怎么做?是否有处理此类情况的公认“标准”?

评论:我有一种感觉,我误解了 UDP 套接字,但与 TCP 相比,关于它的教程真的很少。

sockets udp client-server

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

什么应该是一个简单的TCP客户端服务器,STUCK

我被卡住了.我以前使用过服务器和客户端套接字(非indy),它们很好地异步并且易于使用.我正在尝试制作一个简单的客户端服务器.连接到客户端后,服务器会在计时器事件上发送小块数据.时间是77ms,数据块大约是100字节.我已经尽力从这里和那里以及人们的例子中找出indy.(显然,如果人们能够迅速开展工作,网上就不会有太多关于它的内容).下面我从客户端和服务器中提取了相关部分.

我将ip设置为localhost,我试图首先调试服务器端.我启动客户端,我在调试器中启动服务器.客户端连接,我可以在onconnect事件上设置一个断点,程序就在那里.现在应该发生的是计时器已启用,然后每次跳闸我发送我的数据块.(这至少在调试器中不会发生)

编译器强迫我为服务器添加onexecute事件,我现在不知道该怎么做.我尝试了一个空白事件,我尝试了一个虚拟读取.在客户端.一旦有连接它就应该从别处复制一个读线程,并在数据块发生时读取它们.现在我没有进行任何错误检查或自动检测连接丢失和尝试重新连接.

我当然感谢任何帮助,无论是在工作中还是在如何处理角落案件的提示上.

谢谢罗伯特

服务器端这应该每77毫秒发送一个数据块.................................... ................................................

type
  TForm8 = class(TForm)
    SendButton: TButton;
    SendWaveFormTimer: TTimer;
    IdUDPClient1: TIdUDPClient;
    IdTCPServer1: TIdTCPServer;

    procedure SendWaveFormTimerTimer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure IdTCPServer1Connect(AContext: TIdContext);
    procedure IdTCPServer1Execute(AContext: TIdContext);

  private
    connectedto:TIdContext;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form8: TForm8;


procedure TForm8.IdTCPServer1Connect(AContext: TIdContext);
// this is not in the main ui thread and can't call showmessage
begin
  connectedto:=acontext; // save the connected TIDcontext for use elsewhere?
  self.SendWaveFormTimer.Enabled:=true; {set the send timer}
end;

procedure TForm8.SendWaveFormTimerTimer(Sender: …
Run Code Online (Sandbox Code Playgroud)

delphi client-server indy10 firemonkey

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

我如何在一台机器上有多个本地主机?

假设,我想测试两个服务器应用程序和一个客户端应用程序,以便如果其中一台服务器发生故障,该客户端仍可以连接到第二台服务器而不会中断任务。

为了做到这一点,我需要两个本地主机地址,以便每个服务器可以向传入的客户端公开一个端点。

如何在笔记本电脑上实现?

一些建议使用虚拟机和内部网络。但是,我的PC无法承受同时运行的两个虚拟机的内存负载。

有什么建议吗?

c# java client-server localhost

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