GVKun编程网logo

已插入 SQL Server 数据但客户端未收到响应(sql server加载数据库)

13

本文将分享已插入SQLServer数据但客户端未收到响应的详细内容,并且还将对sqlserver加载数据库进行详尽解释,此外,我们还将为大家带来关于grpc客户端未收到服务器流数据、IISSOAPWe

本文将分享已插入 SQL Server 数据但客户端未收到响应的详细内容,并且还将对sql server加载数据库进行详尽解释,此外,我们还将为大家带来关于grpc 客户端未收到服务器流数据、IIS SOAP Web 服务 - 客户端未收到响应、Netty websocket开发,发送消息客户端未收到、OpenVPN v3 Dbus 客户端未收到所有信号的相关知识,希望对你有所帮助。

本文目录一览:

已插入 SQL Server 数据但客户端未收到响应(sql server加载数据库)

已插入 SQL Server 数据但客户端未收到响应(sql server加载数据库)

如何解决已插入 SQL Server 数据但客户端未收到响应?

我有一个 Java jdbc 客户端将数据插入到 sql 服务器中的表中。在某些时候 sql 服务器会正​​常停止。我的客户收到此异常

    at com.microsoft.sqlserver.jdbc.sqlServerConnection.terminate(sqlServerConnection.java:2392)
    at com.microsoft.sqlserver.jdbc.sqlServerConnection.terminate(sqlServerConnection.java:2376)
    at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1900)
    at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:6674)
    at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:7989)
    at com.microsoft.sqlserver.jdbc.sqlServerStatement.doExecuteStatement(sqlServerStatement.java:901)
    at com.microsoft.sqlserver.jdbc.sqlServerStatement$StmtExecCmd.doExecute(sqlServerStatement.java:796)
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7535)
    at com.microsoft.sqlserver.jdbc.sqlServerConnection.executeCommand(sqlServerConnection.java:2438)
    at com.microsoft.sqlserver.jdbc.sqlServerStatement.executeCommand(sqlServerStatement.java:208)
    at com.microsoft.sqlserver.jdbc.sqlServerStatement.executeStatement(sqlServerStatement.java:183)
    at com.microsoft.sqlserver.jdbc.sqlServerStatement.executeUpdate(sqlServerStatement.java:721) 

但是,当sql server启动时,我可以看到这个数据实际上插入到了我的表中。

我想知道

  1. 停止 sql 服务器的行为。服务端是否可以插入数据并停止而不回复客户端
  2. 无法正确处理 sql 服务器停止的 JDBC 驱动程序或客户端的任何问题。
  3. 类似于在 sql 服务器启动后发生前滚之类的事情。

非常感谢有关如何分析此场景的任何帮助或指示。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

grpc 客户端未收到服务器流数据

grpc 客户端未收到服务器流数据

如何解决grpc 客户端未收到服务器流数据?

我正在尝试通过 grpc 流式传输 nodejs 子进程输出,但一直得到空结果。

给定我的原型文件。

Syntax = "proto3";

package servicePackage;

service Mobile {
    rpc sign(Empty) returns (stream SHA256Info);
}

message Empty {}

message SHA256Info {
  string signature = 1;
}

还有我的 grpc 服务器代码

function sign(call,callback) {
    const cp = require(''child_process'');
    var signature = "";
    let child = cp.exec(''keytool -list -v -keystore android.keystore -alias android -storepass hardcodedstorepass -keypass hardcodedkeypass'',{ cwd: "./output" });

    child.on(''exit'',function (code,signal) {
        console.log(''process exited with '' + `code ${code} and signal ${signal}`);
        call.end();
    });

    child.stdout.on(''data'',(data) => {
        if (data.includes("Certificate fingerprints:")) {
            var sig = data.substring(data.indexOf("SHA256:"));
            signature = sig;
            call.write({"SHA256Info": signature});
        }
    });

    child.stderr.on(''data'',(data) => {
        //console.error(`stderr:\n${data}`);
    });

}

还有我的 grpc 客户端代码

const call = client.sign({});

call.on("data",signature => {
    console.log("STREAMED data => " + JSON.stringify(signature));
})

call.on("end",e => console.log("server done!"));

我得到的结果是:

{} //<------ empty result
server done!

我的问题是我做错了什么导致空结果?

解决方法

我成功地匹配了消息 SHA256Info

中给出的确切成员名称

所以代替

call.write({"SHA256Info": signature});

正确的返回值应该是

call.write({ "signature": signature });

这里是消息结构

message SHA256Info {
  string signature = 1; //<--- you should return matching structure
}

IIS SOAP Web 服务 - 客户端未收到响应

IIS SOAP Web 服务 - 客户端未收到响应

如何解决IIS SOAP Web 服务 - 客户端未收到响应?

我尝试使用基于 IIS 的 .NET 3rd 方 SOAP 网络服务。

当在一个 HTTP 套接字连接中运行大量请求时(客户端为每个请求重用 TCP 套接字),我偶尔会遇到一个停顿,即客户端没有收到来自服务器的响应。

套接字保持打开状态,我可以看到正在发送 TCP KeepAlive 数据包,但没有来自服务器的数据到达。这种情况非常断断续续,很难重现。

服务器正在接收 SOAP 请求并对其执行操作(我可以在服务器的数据库中看到相应的工件)。

没有 IIS 或 Windows 错误或事件。

预期的 SOAP 响应相当小(小于 300 字节),所以我认为可能有一个包含响应的丢弃数据包,但我从未看到重传。

最终,客户端应用程序在等待响应(返回的soap调用)时超时。

使用wireshark,我偶尔会看到SpurIoUs Retransmissions,所以客户端和服务器之间的底层连接不是100%。服务器和客户端之间的路径是曲折的,经过一系列 VPN,一个到办公室 VPN,然后再经过 AWS 中转网关 VPN。

我的问题是:如果响应数据包被丢弃,为什么服务器的 TCP 堆栈没有重新发送它?应该有一个重传计时器到期并导致重传,但是当发生停顿时,服务器不再发送应用程序数据。

为了找出问题所在,我设置了一个测试,通过该测试我一遍又一遍地发出相同的 SOAP 请求,但是每个请求都有一个全新的 TCP 连接,当我这样做时,我从来没有看到摊位。

我不确定我是在处理 IIS 还是 Windows 配置问题,还是某种服务器错误。

有没有其他人看过这个?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

Netty websocket开发,发送消息客户端未收到

Netty websocket开发,发送消息客户端未收到

 在开发 Netty  websocket项目中,遇到一个低级搞笑的问题:通过 Netty 提供的发送数据的三种方式发送数据至客户端,发送端没有抛出任何异常,但是客户端就是没有收到数据。发送数据的的三种方式如下:

    channelHandlerContext.writeAndFlush("QQ");
    channel.writeAndFlush("QQ");
    channelPipeline.writeAndFlush("QQ")
网上的方案有:

         1、 channelHandlerContext.writeAndFlush(Unpooled.copiedBuffer("Netty test", CharsetUtil.UTF_8))

         2、在 ChannelInitializer中增加注册  StringEncoder, StringDecoder,

   ....

这些方案在我这边尝试了都不行,崩溃的去呼吸下新鲜空气,忽然想起我现在正在开发的是用websocket, 消息格式应该用netty提供的格式: BinaryWebSocketFrame 、TextWebSocketFrame等之类, 这样客户端接收了才能正确处理

  channel.writeAndFlush(new TextWebSocketFrame("QQ"))     // ok

 

OpenVPN v3 Dbus 客户端未收到所有信号

OpenVPN v3 Dbus 客户端未收到所有信号

如何解决OpenVPN v3 Dbus 客户端未收到所有信号?

我正在为 Linux Mint/Cinnamon 编写一个 Applet 来管理 OpenVPN v3 连接。

为了避免可能导致 DE 卡顿或冻结的同步调用,我正在使用 GJS 提供的 GioGLib 库编写一个简单的 DBus 客户端。这允许异步的、部分事件驱动的方法,并且应该避免任何令人讨厌的副作用。这是我第一次使用这些技术中的任何一种,但 OpenVPN DBus API 是 pretty well documented,Gio and GLib 的 API 文档也很好。

我遇到的问题是信号订阅,特别是 StatusChange 服务发布的 net.openvpn.v3.sessions 信号。每当建立、暂停、恢复或关闭连接时,就会发布一堆这些信号。大多数信号都被我订阅的听众接收到,但不是全部。特别是,我没有收到 session closed 信号。

使用 dbus-monitor 命令行工具,您可以看到在建立连接(7 个信号)然后关闭(2 个信号)时发布的所有 StatusChange 信号:

$ sudo dbus-monitor --system "type=''signal'',interface=''net.openvpn.v3.sessions'',member=''StatusChange''"
...

// Connect:
signal time=1625847543.107244 sender=:1.891 -> destination=:1.892 serial=2745 path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49; interface=net.openvpn.v3.sessions; member=StatusChange
   uint32 3
   uint32 27
   string "session_path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49,backend_pid=42584"
signal time=1625847543.116395 sender=:1.891 -> destination=:1.892 serial=2762 path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49; interface=net.openvpn.v3.sessions; member=StatusChange
   uint32 3
   uint32 17
   string "session_path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49 backend_busname=net.openvpn.v3.backends.be42585 backend_path=/net/openvpn/v3/backends/session"
signal time=1625847543.117286 sender=:1.891 -> destination=(null destination) serial=2764 path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49; interface=net.openvpn.v3.sessions; member=StatusChange
   uint32 2
   uint32 2
   string "config_path=/net/openvpn/v3/configuration/9dd3fa9cxb6e0x48acxaa1ex566312bea232"
signal time=1625847543.638519 sender=:1.891 -> destination=(null destination) serial=2775 path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49; interface=net.openvpn.v3.sessions; member=StatusChange
   uint32 2
   uint32 2
   string "config_path=/net/openvpn/v3/configuration/9dd3fa9cxb6e0x48acxaa1ex566312bea232"
signal time=1625847543.638533 sender=:1.891 -> destination=(null destination) serial=2776 path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49; interface=net.openvpn.v3.sessions; member=StatusChange
   uint32 2
   uint32 6
   string ""
signal time=1625847543.735357 sender=:1.891 -> destination=(null destination) serial=2777 path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49; interface=net.openvpn.v3.sessions; member=StatusChange
   uint32 2
   uint32 6
   string ""
signal time=1625847543.974784 sender=:1.891 -> destination=(null destination) serial=2778 path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49; interface=net.openvpn.v3.sessions; member=StatusChange
   uint32 2
   uint32 7
   string ""


// disconnect:
signal time=1625847646.846790 sender=:1.891 -> destination=:1.892 serial=2834 path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49; interface=net.openvpn.v3.sessions; member=StatusChange
   uint32 3
   uint32 28
   string "Session closed"
signal time=1625847646.848262 sender=:1.891 -> destination=:1.892 serial=2839 path=/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49; interface=net.openvpn.v3.sessions; member=StatusChange
   uint32 3
   uint32 19
   string ""

以下代码创建了一个订阅,据我所知,它应该接收到与上面相同的信号。注意我在这里使用较低级别的方法来获取订阅;订阅是在全局连接上进行的,而不是通过特定对象路径的 DBusProxy。我已经尝试了两种方法(相同的结果),但以下应该更接近于上面的 dbus-monitor 命令。

    subscribetoStatusChangeSignals() {
        this.statusChangeHandlerId = Gio.DBus.system.signal_subscribe(
            ''net.openvpn.v3.sessions'',''net.openvpn.v3.sessions'',''StatusChange'',null,Gio.DBusSignalFlags.NONE,this._handleGlobalStatusChangeSignal
        );
    }

    _handleGlobalStatusChangeSignal(connection,sender,path,iface,signal,params) {
        let container = params.deep_unpack();
        let statusMajorCode = container[0];
        let statusMinorCode = container[1];
        let statusMajor = lookupStatusMajor(statusMajorCode);  // lookup the corresponding text
        let statusMinor = lookupStatusMinor(statusMinorCode);  // from something resembling an enum
        let message = container[2];

        global.log(`Received StatusChange signal
            path:         [${path}]
            Status Major: [${statusMajorCode} - ${statusMajor}]
            Status Minor: [${statusMinorCode} - ${statusMinor}]
            Message:      [${message}]`
        );
    }

打开和关闭与以前相同的连接时产生的日志:

// Connect:
Cjs-Message: 18:19:03.117: JS LOG: [LookingGlass/info] Received StatusChange signal
            path:         [/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49]
            Status Major: [2 - CONNECTION]
            Status Minor: [2 - CFG_OK]
            Message:      [config_path=/net/openvpn/v3/configuration/9dd3fa9cxb6e0x48acxaa1ex566312bea232]
Cjs-Message: 18:19:03.638: JS LOG: [LookingGlass/info] Received StatusChange signal
            path:         [/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49]
            Status Major: [2 - CONNECTION]
            Status Minor: [2 - CFG_OK]
            Message:      [config_path=/net/openvpn/v3/configuration/9dd3fa9cxb6e0x48acxaa1ex566312bea232]
Cjs-Message: 18:19:03.639: JS LOG: [LookingGlass/info] Received StatusChange signal
            path:         [/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49]
            Status Major: [2 - CONNECTION]
            Status Minor: [6 - CONN_CONNECTING]
            Message:      []
Cjs-Message: 18:19:03.735: JS LOG: [LookingGlass/info] Received StatusChange signal
            path:         [/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49]
            Status Major: [2 - CONNECTION]
            Status Minor: [6 - CONN_CONNECTING]
            Message:      []
Cjs-Message: 18:19:03.974: JS LOG: [LookingGlass/info] Received StatusChange signal
            path:         [/net/openvpn/v3/sessions/052850e7s915fs483esb3e7s3afb389a2e49]
            Status Major: [2 - CONNECTION]
            Status Minor: [7 - CONN_CONNECTED]
            Message:      []

// disconnect:
<nada>

我注意到的一种模式是,我收到的所有信号在 null destination 输出中都有一个 dbus-monitor

... sender=:1.891 -> destination=(null destination) ...

虽然我没有收到的信号有一个特定的目的地:

... sender=:1.891 -> destination=:1.892 ...

据推测,这些是针对特定接收者的直接信号,而不是向所有感兴趣的订阅者广播的信号,但我没有在文档中的任何地方找到对此的解释。

那么问题是,为什么我会收到一些信号而不是全部?这是设计使然,还是 Gio 的问题,或者(更有可能)我使用它的方式的问题?

解决方法

经过深入研究后,似乎这种行为是设计使然 - 携带目标值的信号被视为单播消息。预定收件人以外的订阅者只有在配置为 eavesdrop 时才会收到此类消息。大概 dbus-monitor 就是这种情况。

今天关于已插入 SQL Server 数据但客户端未收到响应sql server加载数据库的介绍到此结束,谢谢您的阅读,有关grpc 客户端未收到服务器流数据、IIS SOAP Web 服务 - 客户端未收到响应、Netty websocket开发,发送消息客户端未收到、OpenVPN v3 Dbus 客户端未收到所有信号等更多相关知识的信息可以在本站进行查询。

本文标签: