标签: server

订阅客户端未收到消息 MQTT

我正在研究 MQTT 协议,并尝试使用 2 个不同的 Java 应用程序进行发布和订阅。

我的第一个应用程序是“发布”。我在 MQTT 服务器上发布一条消息。

我的第二个应用程序是“订阅”。我正在订阅一个主题并尝试接收消息。但我从来没有收到消息。

当我运行这两个应用程序时,我从“订阅”应用程序开始,然后运行“发布”应用程序。当“发布”应用程序启动时,我失去了与“订阅”应用程序的连接,并且无法接收消息。

在“订阅”应用程序中,我的方法 messageArrived() 永远不会被 client.setCallback(this) 调用。(参见下面的代码)。

这是我的 2 个代码应用程序:

发布应用程序:PubClient 类:

package publishclient;

import java.util.Random;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttAsyncClient;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;



public class PubClient implements MqttCallback {

MqttClient client;
MqttConnectOptions connOpt; 

Random rand = new Random(); 
int nbRandom = 0;
int valMax =151, valMin = 40;

public PubClient() throws MqttException {
String broker = "tcp://88.177.147.17:1883"; // Adress MQTT Server …
Run Code Online (Sandbox Code Playgroud)

java connection publish-subscribe mqtt server

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

是否可以在 IBM Websphere Application Server 上部署 Angular 应用程序?

我们在工作中使用 IBM RAD 进行开发,并使用 IBM Websphere Application Server 作为我们的 Web 应用程序服务器。考虑到这些限制,是否仍然可以开发和部署 Angular SPA?就像为 RAD 安装 Typescript 插件一样,但是如果没有生成 EAR 文件,您将如何将其部署到 WAS?

java websphere server angular

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

UDP服务器客户端C++:sendto,recvfrom

我正在尝试完成一个简单的回显服务器。目标是将消息重复返回给客户端。服务器和客户端都编译。服务器绑定到本地主机和端口 8080。客户端有地址、端口和消息。当客户端将程序执行到 sendto 部分时,它会在那里停下来等待。我的目标是将其发送到服务器,然后服务器将其发回。

问题:客户端正在发送消息,服务器可以正确接收消息,但服务器无法返回消息。请帮忙!

服务器端代码:

#include <iostream>
#include <string.h>
#include <fstream>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#define PORT 8080

using namespace std;

int main() {
  int serSockDes, len, readStatus;
  struct sockaddr_in serAddr, cliAddr;
  char buff[1024] = {0};
  char msg[] = "Hello to you too!!!\n";

  //creating a new server socket
  if((serSockDes = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
    perror("socket creation error...\n");
    exit(-1);
  }

  //binding the port to ip and port
  serAddr.sin_family = AF_INET;
  serAddr.sin_port = htons(PORT);
  serAddr.sin_addr.s_addr …
Run Code Online (Sandbox Code Playgroud)

c++ client udp echo server

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

golang 中 server.GracefulStop() 的行为

我有一个 gRPC 服务器,并且我已经实现了 gRPC 服务器的正常关闭,如下所示

fun main() {
    //Some code
    term := make(chan os.Signal)
    go func() {
            if err := grpcServer.Serve(lis); err != nil {
                term <- syscall.SIGINT
            }
        }()

    signal.Notify(term, syscall.SIGTERM, syscall.SIGINT)
    <-term
    server.GracefulStop()
    closeDbConnections()
}
Run Code Online (Sandbox Code Playgroud)

这很好用。如果我grpcServer.Serve()在主 goroutine 中编写逻辑,并将关闭处理程序逻辑放入另一个 goroutine 中,则之后的语句server.GracefulStop()通常不会执行。一些 DbConnections 如果closeDbConnections()执行的话,会被关闭。

server.GracefulStop()是一个阻塞调用。绝对在完成grpcServer.Serve()之前完成server.GracefulStop()。那么,在这个调用返回后,main goroutine 需要多长时间才能停止呢?

有问题的代码

func main() {
    term := make(chan os.Signal)
    go func() {
        signal.Notify(term, syscall.SIGTERM, syscall.SIGINT)
        <-term
        server.GracefulStop()
        closeDbConnections()
    }()
    if err := grpcServer.Serve(lis); …
Run Code Online (Sandbox Code Playgroud)

go goroutine server grpc grpc-go

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

向 curreng Golang 进程发送自定义信号

我正在使用 Go 创建一个 HTTP 服务器。每当我进行数据库维护时,我希望服务器将所有流量重定向到“当前正在进行维护”页面。

目前,这是通过秘密管理页面(例如http://myhome/secret)完成的,但我想知道是否可以使用类似于 TERM 信号的信号来完成此操作,但暂时重定向而不是实际终止进程。

例如。

/home/myhome> nohup startServer &
... 
/home/myhome> changeMyServerStatus "maintenance"
Run Code Online (Sandbox Code Playgroud)

我假设会有两个可执行文件..“startServer”和“changeMyServerStatus”

所以,这类似于服务。(比如重新加载)但是,这可能吗?如果是这样,你能给我一些提示吗?

谢谢

signals http reload go server

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

如何为 gRPC 服务器实例(在 Node 中)分配随机端口号?

在 Node.js 中启动 http 服务器时,开发人员可以通过0如下传递来侦听随机可用端口:

const http = require('http')
const service = require('../my/service);
const server = http.createServer(service)
server.listen(process.env.PORT || 0) // <-- Random port by default!
Run Code Online (Sandbox Code Playgroud)

我想知道如何使用 gRPC 做同样的事情?就像是...

const grpc = require('grpc')
const services = require('./service_grpc_pb')
const server = new grpc.Server()
server.addService(services.MyService, { ... })
server.bind('0.0.0.0:0', grpc.ServerCredentials.createInsecure())
server.start()
Run Code Online (Sandbox Code Playgroud)

那样有用吗?我还没有弄清楚。我的目标是获取一个随机端口,然后查询服务器以获取分配的端口,以便向中央微服务注册表注册服务。

提前感谢您的帮助。

http node.js microservices server grpc

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

Mongo突然关闭,没有任何日志

我遇到这个反复出现的问题,Mongo 在服务器上关闭而没有任何日志。我收到此错误消息:

com.mongodb.MongoTimeoutException:等待连接时 30000 毫秒后超时。集群状态的客户端视图为 {type=UNKNOWN,servers=[{address=localhost:27017,type=UNKNOWN,state=CONNECTING,Exception={com.mongodb.MongoSocketOpenException: Exception opening socket},由 {java.net .ConnectException:连接被拒绝}}]

然后我检查 mongo,它已经关闭了。但日志中绝对没有任何关于它崩溃或其他任何内容。这是来自 mongod.log 的日志:

2019-08-27T18:08:48.590 + 0430我命令[conn29]命令db.news命令:find {find:“新闻”,过滤器:{_id:“3bb30383-fa65-4899-99e9-938c5f4979c9”},限制: 1、singleBatch:true} planSummary:IDHACK keysExamined:1 docsExamined:1cursorExhausted:1numYields:1nreturned:1reslen:28344锁:{全局:{acquireCount:{r:4}},数据库:{acquireCount:{r: 2 } },集合:{ acquireCount: { r: 2 } } } 协议:op_query 189ms

2019-08-28T08:45:24.522+0430 我控制 [main] ***** 服务器重新启动


正如您所看到的,第一行是最新的查询,第二行是我再次运行它。

我绝不是专家或系统管理员,这个问题非常令人担忧,因此我非常感谢您能给我的任何帮助或指导。

mongodb server

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

Heroku 错误模块未找到“json-server”

我想在 Heroku 上部署我的服务器,但在 Heroku 构建上它说:

在此输入图像描述

该应用程序在本地运行良好,但不知何故在 Heroku 服务器上崩溃了。

这是文件结构 在此输入图像描述

这是server.js的代码

const jsonServer = require('json-server');
const server = jsonServer.create();
const router = jsonServer.router('data.json');
const port = process.env.PORT || 4000;

server.use(router);
server.listen(port);

Run Code Online (Sandbox Code Playgroud)

这是package.json

{
  "name": "server",
  "version": "1.0.0",
  "description": "json-server",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "npm install && node server.js"
  },
  "author": "japsuchiha",
  "license": "ISC",
  "dependencies": {
    "core-util-is": "^1.0.2"
  },
  "devDependencies": {
    "json-server": "^0.15.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

heroku node.js npm server json-server

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

Ktor 应用程序未在我的计算机上运行

我正在尝试学习使用 ktor,并且正在尝试在根路径处显示文本“Hello Ktor”,但我一直得到的结果是无法访问该网站。这是我的代码:

import io.ktor.application.*
import io.ktor.http.ContentType
import io.ktor.response.respondText
import io.ktor.routing.get
import io.ktor.routing.routing

fun main(args: Array<String>): Unit = io.ktor.server.netty.EngineMain.main(args)

private val userData = "{\"users\": [\"Timi\", \"Tomi\", \"Temi\"]}"

@Suppress("unused") // Referenced in application.conf
@kotlin.jvm.JvmOverloads
fun Application.module(testing: Boolean = false) {

    routing {
        get("/") {
            call.respondText("Hello Ktor", ContentType.Text.Plain)
        }

    }
}

Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

kotlin server ktor

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

错误 | sudo apt-get update : 404 未找到 [IP: 2604:1380:2000:7501::69 80]

我执行时出现错误:

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

错误:

Hit:1 http://us.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:3 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:5 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Ign:6 http://apt.postgresql.org/pub/repos/apt utopic-pgdg InRelease
Hit:7 https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/bionic pgadmin4 InRelease
Err:8 http://apt.postgresql.org/pub/repos/apt utopic-pgdg Release
  404  Not Found [IP: 2604:1380:2000:7501::69 80]
Reading package lists... Done
E: The repository 'http://apt.postgresql.org/pub/repos/apt utopic-pgdg Release' does not have a Release file.
N: Updating from such a repository can't be done securely and is therefore disabled by default.
N: See apt-secure(8) manpage for …
Run Code Online (Sandbox Code Playgroud)

postgresql ubuntu server

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