标签: client-server

是否应该异步执行对 NetworkStream 的写入

考虑到这NetworkStream.Write()是一个阻塞调用,是否应该SendMessage()创建一个新线程之类的方法来执行写入操作,或者该SendMessage()方法应该阻塞直到发送消息或发生异常?

我的直觉告诉我,阻止这个方法是合理的,但是查看C# 中一个非常好的套接字示例,我发现它们正在创建一个新线程。我发现创建另一个线程的主要问题是错误处理。

PS:我知道 Write、Read 等的异步版本,但发现 IAsyncResult 相当混乱,目前暂缓使用这些选项。

c# sockets multithreading tcp client-server

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

UDP 客户端/服务器:混合 IPv4 和 IPv6?

假设您有一个游戏服务器(仅 UDP),在同时具有 IPv4 和 IPv6 地址的服务器上运行。服务器启动,调用 getaddrinfo() 循环访问可用地址,假设它获取 IPv6 地址。因此它在 IPv6 上创建套接字并等待来自客户端的数据包。

客户端尝试连接,但这次它使用用户输入的 IPv4 地址。它创建一个 IPv4 套接字,并尝试连接到服务器。差异实际上重要吗?或者 IPv4 套接字和 IPv6 套接字之间的差异是否仅限于本地计算机?

同样,如果客户端已经创建了一个可供使用的 IPv6 套接字(因为 getaddrinfo() 表示它是有效的),然后它调用 getaddrinfo() 来查找服务器的地址,那么如果它只获得 IPv4 结果怎么办?我知道我可以告诉 getaddrinfo() 仅提供 IPv6 结果,但如果服务器没有 IPv6 地址怎么办?UDP 客户端是否应该关闭并重新创建其套接字以匹配服务器地址格式?或者我能保证得到我要求的地址格式吗?

(我欢迎任何能够回答这些问题的文档参考。我已经研究了几个小时,但尚未找到这些问题的明确答案。)

sockets udp client-server ipv6

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

为什么带有空值的对象密钥对不再从服务器传递到客户端?

我有一个 Google 应用程序脚本 Web 应用程序,我在其中使用google.script.run.withSuccessHandler. 服务器端函数返回一个所有值为空的对象。MaterializeCSS自动完成需要 null

我的客户今天报告说 GAS 网络停止工作。之前是 10000000% 工作。我发现原因是 anull作为一个值。

工作示例应用程序在这里

https://script.google.com/macros/s/AKfycbzbg4YLndZ0zORBzgDc3ETLUdJeToUS1nKjORUa5fNxQt9syXmLlX1gDHzgS4w8iCBM9A/exec

https://script.google.com/d/1Uba73PIetb9fmrO44nwsmAd_epZTHy4lwz5bG3bURK3jqpd161JT0pf5/edit?usp=sharing

HTML代码

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    Test
<script type="text/javascript">
 console.log("test")

document.addEventListener("DOMContentLoaded", function(event) { 
    google.script.run.withSuccessHandler(afterDataReceived)
                    .returnObject()
    });

function afterDataReceived(receivedData){
  console.log(receivedData)
}
     </script>
     </body>
</html>
Run Code Online (Sandbox Code Playgroud)

GS代码

function doGet(e) {

  var htmlTemplate = HtmlService.createTemplateFromFile("index").evaluate()

  return htmlTemplate
}

function returnObject(){

  var object = {}

  object.a = "123"
  object.b = null
  object.c = 123

console.log(object)  
  return object
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有人遇到同样的错误吗?如何解决这个问题?

client-server web-applications google-apps-script

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

我的java服务器在其代码中间停止

由于某种原因,我的服务器停止在我的代码的标记区域中运行,我无法弄清楚原因.

import java.net.*;
import java.io.*;

public class SlickServer{
    public static void main(String[] args) throws IOException {

        int MAX_PLAYERS = 3;
        int playerNum = 0;
        Player[] players = new Player[MAX_PLAYERS];
        players[0] = new Player(25,25);
        players[1] = new Player(125,125);
        players[2] = new Player(225,225);
        ServerSocket serverSocket = new ServerSocket(40);
        boolean listening = true;

        while(listening){
            System.out.println("Waiting to connect with: " + playerNum);
            new ClientThread(serverSocket.accept(), players, playerNum).start();
            //stops here.
            System.out.println("Connected with: " + playerNum + " Now incrementing");
            playerNum++;
            System.out.println("Incremented to: " + playerNum);
        } …
Run Code Online (Sandbox Code Playgroud)

java client client-server

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

非常大的HTTP请求与许多小请求

可能重复:
非常大的HTTP请求与许多小请求

我需要一个2D数组(如Json)从服务器发送到客户端.它的大小约为400X400,每个条目大约有4个字符的文本.这样就可以获得大约640KB的数据.

以下哪种极端方法更好?

  1. 我一口气对所有数据发出大量HTTP请求.
  2. 我提出了400个请求 - 每个请求一行(大约1.6 KB)

我认为最佳方法将介于中间.任何人都可以告诉我这个数据的最佳单一请求大小.

谢谢,

json client-server

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

安全的Web服务器asp.net

我有我公司产品的图形用户界面.我想保护在客户端和服务器之间来回发送的数据.

SSL是其中一个选择吗?如果是的话,请告诉我如何在我的应用程序代码中实现它的步骤.

我需要购买证书还是可以制作..这是最好的选择?

任何帮助表示赞赏.谢谢..

我正在使用FormsAuthenticationTicket登录,如下所示:

Session["userName"] = UserName.Text;
                    Session["password"] = Password.Text;
                    Session["domain"] = Domain.Text;
                    string role = "Administrators";

                    // Create the authentication ticket
                    FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1,                          // version
                                                   UserName.Text,           // user name
                                                   DateTime.Now,               // creation
                                                   DateTime.Now.AddMinutes(60),// Expiration
                                                   false,                      // Persistent 
                                                   role);         // User data

                    // Now encrypt the ticket.
                    string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
                    // Create a cookie and add the encrypted ticket to the
                    // cookie as data.
                    HttpCookie authCookie =
                                 new HttpCookie(FormsAuthentication.FormsCookieName,
                                                encryptedTicket);

                    // Add the cookie …
Run Code Online (Sandbox Code Playgroud)

c# asp.net security ssl client-server

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

Java屏幕共享程序

我想创建一个多客户端服务器程序,其中服务器有单独的窗口来显示所有客户端屏幕,以监控他们的计算机上发生了什么.我该怎么办?

我想知道如何在服务器上显示我正在使用GUI界面的屏幕.

java windows tcp client-server

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

Java main()方法无法完全运行 - 从同一应用程序运行客户端和服务器

我一直在研究以下代码:

public class MyStuff {

    public static void main(String[] args)throws IOException {
        //System.out.println("From Test"); 
        ControlGack gack = new ControlGack();
        gack.setVisible(true);
        MainWindow mW = new MainWindow();
        mW.run(null);

        Client c = new Client();
        try {
            c.run(null);
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.print("Stupid");
    }
}
Run Code Online (Sandbox Code Playgroud)

MainWindow有一个while循环的程序运行时,只是重复.如何启动Client课程并与课程的其余部分同时运行?

java multithreading program-entry-point client-server runnable

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

从服务器发送文件到客户端(python)

我目前正在编写一个需要传输一些文件才能工作的服务器 - 客户端应用程序.我正在使用这种方法:

客户:

file_to_send = raw_input(">") 

try:
    f = open("./sent_files/" + file_to_send, "rb")
except IOError, e:
    print ">error: ", e
    break

data = xmlrpclib.Binary(f.read())

if s.receive_file(file_to_send, data):
    print ">file correctly sent"
Run Code Online (Sandbox Code Playgroud)

服务器:

def receive_file(self, name, arg):                                        
    with open("./sampletest/"+name, "wb") as handle: 
        handle.write(arg.data)
Run Code Online (Sandbox Code Playgroud)

但是我怎么能做相反的事情(我的意思是从服务器向客户端发送文件)?

python client-server file-transfer

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

EWS连接是否支持TLS 1.2

我不是EWS或TLS 1.2的专家.我不确定如何调查这个问题.

基本上,我的客户端应用程序大量使用EWS,其形式是从Exchange服务器提取数据并从Exchange服务器接收订阅主题的通知.

我有一个客户的问题,我正在为我工​​作.从客户端应用程序到Exchange服务器使用的EWS连接是否支持TLS 1.2?

Exchange服务器可以是2010年和2013年.

我不确定如何确认这一点,或者默认情况下支持此功能.

欢迎提出任何建议或建议.

编辑:

客户端应用程序是用JavaScript编写的.

Exchange服务器的端点是https://outlook.office365.com/EWS/Exchange.asmx

很明显它是https端点.这是否意味着在TLS 1.2合规性下已经运行良好?

client-server exchangewebservices tls1.2

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