我有一个安全的 websocket 服务器在 localhost:443/server-demo (jetty websocket 服务器)上运行。现在我正在编写一个可以与websocket服务器通信的go客户端。我可以使用正确的证书连接到 websocket 服务器。这是示例代码。
package main
import (
"crypto/tls"
"crypto/x509"
"fmt"
"io"
"log"
)
func main() {
cert, err := tls.LoadX509KeyPair("nifi-1.10.0-bin/nifi-1.10.0/extras/gen-certs/certs/admin.pem", "nifi-1.10.0-bin/nifi-1.10.0/extras/gen-certs/certs/admin-key.pem")
if err != nil {
log.Fatalf("server: loadkeys: %s", err)
}
config := tls.Config{Certificates: []tls.Certificate{cert}, InsecureSkipVerify: true}
conn, err := tls.Dial("tcp", "127.0.0.1:443", &config)
if err != nil {
log.Fatalf("client: dial: %s", err)
}
defer conn.Close()
log.Println("client: connected to: ", conn.RemoteAddr())
state := conn.ConnectionState()
for _, v := range state.PeerCertificates {
fmt.Println(x509.MarshalPKIXPublicKey(v.PublicKey))
fmt.Println(v.Subject)
}
log.Println("client: …Run Code Online (Sandbox Code Playgroud) 我创建了一个小型的客户端-服务器程序,其工作原理如下:客户端在五秒内向服务器发送一个随机数,然后服务器发送一个(或多或少出名的)报价给客户端。该随机数表示某些引号所在的 ServerClass 中 ArrayList 的索引。连接运行良好,客户收到报价,我可以轻松地使用 sysout 将其打印出来。我现在的问题是,我想在一个小的 JavaFX / FXML 文件中将收到的报价显示为标签,并且当从服务器传入新报价时,文本应该每五秒更改一次。QuotesClient 类(即客户端)也是相应 FXML 文件的控制器,但问题是因为我的 Client 类中负责处理传入 UDP 数据包的方法是静态的,当然我无法访问非静态在此方法中进行标记。
我也尝试将标签设为静态,但随后我收到一个 NullPointerException:
java.lang.NullPointerException
at Aufgabe1.QuotesClient.main(QuotesClient.java:48)
at Aufgabe1.QuotesApp.lambda$1(QuotesApp.java:32)
at java.base/java.lang.Thread.run(Thread.java:844)
Run Code Online (Sandbox Code Playgroud)
这是我的客户端文件:
public class QuotesClient {
private static final int BUFSIZE = 508;
@FXML
private static Label zitatLabel; //Thats the quoteLabel i wanna change
public static void main(String[] args) throws UnknownHostException {
var host = "localhost";
var localPort = 40000;
var serverPort = 50000;
try (var socket = new DatagramSocket(localPort)) {
while(true) {
Random …Run Code Online (Sandbox Code Playgroud) 我使用c ++开发了客户端服务器程序,所以我希望收到超过500kb,我的客户端消息以"!"结束 ,所以我想收到,直到我的最后一个字节(!)收到,这是我的代码,它不起作用.它有什么问题.
do
{
int num = recv(*csock, buf, bytesLeft,0);
if (num == 0)
{
break;
}
else if (num < 0 && errno != EINTR)
{
fprintf(stderr, "Exit %d\n", __LINE__);
exit(1);
}
else if (num > 0)
{
numRd += num;
buf += num;
bytesLeft -= num;
fprintf(stderr, "read %d bytes - remaining = %d\n", num, bytesLeft);
}
}
while (bytesLeft != 0);
fprintf(stderr, "read total of %d bytes\n", numRd);
Run Code Online (Sandbox Code Playgroud) 我正在寻找编写客户端应用程序和服务器应用程序的教程/示例.我希望发送服务器命令来运行,让服务器运行它们.
Client side Javascript versus Server Side Python
If I want to create a registration form, what are the pros and cons of validating - checking - for incorrect input- through each method. What do you recommend?
我想使用套接字,TCP/IP通信在c#(windows窗体)中创建聊天应用程序客户端应该向服务器发送文本,服务器应该响应,当服务器向客户端发送消息时,客户端必须接收该消息.所有发送都应该在按钮点击事件上执行.如果有人工作过,请帮助我,我是socket编程的新手.