The client hangs, no callback form server
See original GitHub issueProblem description
The client hangs, no callback form server, but when use grpc 1.24.11 there is no problem. and if don’t use ssl ,there is no problem too.
Environment
- OS name, version and architecture: Mac OS 12.2.1
- Node version: 14.18.3
- Package name and version: @grpc/grpc-js 1.5.7
Additional context
Log1 with ssl: (ip and domain is no real)
D 2022-02-27T05:00:30.993Z | resolving_load_balancer | dns:dev.test.com:443 IDLE -> IDLE
D 2022-02-27T05:00:34.346Z | connectivity_state | (2) dns:dev.test.com:443 IDLE -> IDLE
D 2022-02-27T05:00:34.348Z | dns_resolver | Resolver constructed for target dns:dev.test.com:443
D 2022-02-27T05:00:34.361Z | channel | (2) dns:dev.test.com:443 Channel constructed with options {
"grpc.ssl_target_name_override": “test.grpc.internal.com",
"grpc.default_authority": "test.grpc.internal.com"
}
D 2022-02-27T05:00:37.678Z | channel | (2) dns:dev.test.com:443 createCall [0] method="/jdy_log_query.JdyLogQuery/FindFileStatsOwnerByOwnerId", deadline=Infinity
D 2022-02-27T05:00:37.680Z | call_stream | [0] Sending metadata
D 2022-02-27T05:00:37.681Z | dns_resolver | Looking up DNS hostname dev.test.com
D 2022-02-27T05:00:37.683Z | resolving_load_balancer | dns:dev.test.com:443 IDLE -> CONNECTING
D 2022-02-27T05:00:37.684Z | connectivity_state | (2) dns:dev.test.com:443 IDLE -> CONNECTING
D 2022-02-27T05:00:37.685Z | resolving_load_balancer | dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:37.687Z | connectivity_state | (2) dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:37.688Z | channel | (2) dns:dev.test.com:443 callRefTimer.ref | configSelectionQueue.length=1 pickQueue.length=0
D 2022-02-27T05:00:45.689Z | call_stream | [0] write() called with message of length 40
D 2022-02-27T05:00:45.691Z | call_stream | [0] end() called
D 2022-02-27T05:00:45.693Z | call_stream | [0] deferring writing data chunk of length 45
D 2022-02-27T05:00:45.701Z | dns_resolver | Resolved addresses for target dns:dev.test.com:443: [172.128.1.2:443]
D 2022-02-27T05:00:45.704Z | pick_first | Connect to address list 172.128.1.2:443
D 2022-02-27T05:00:45.706Z | subchannel | (3) 172.128.1.2:443 Subchannel constructed with options {
"grpc.ssl_target_name_override": “test.grpc.internal.com",
"grpc.default_authority": "test.grpc.internal.com"
}
D 2022-02-27T05:00:45.708Z | subchannel_refcount | (3) 172.128.1.2:443 refcount 0 -> 1
D 2022-02-27T05:00:45.710Z | subchannel_refcount | (3) 172.128.1.2:443 refcount 1 -> 2
D 2022-02-27T05:00:45.711Z | pick_first | Start connecting to subchannel with address 172.128.1.2:443
D 2022-02-27T05:00:45.713Z | pick_first | IDLE -> CONNECTING
D 2022-02-27T05:00:45.715Z | resolving_load_balancer | dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:45.717Z | channel | (2) dns:dev.test.com:443 callRefTimer.unref | configSelectionQueue.length=1 pickQueue.length=0
D 2022-02-27T05:00:45.719Z | connectivity_state | (2) dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:45.721Z | subchannel | (3) 172.128.1.2:443 IDLE -> CONNECTING
D 2022-02-27T05:00:45.723Z | pick_first | CONNECTING -> CONNECTING
D 2022-02-27T05:00:45.726Z | resolving_load_balancer | dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:45.728Z | connectivity_state | (2) dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:45.730Z | channel | (2) dns:dev.test.com:443 Pick result: QUEUE subchannel: undefined status: undefined undefined
D 2022-02-27T05:00:45.733Z | channel | (2) dns:dev.test.com:443 callRefTimer.ref | configSelectionQueue.length=0 pickQueue.length=1
D 2022-02-27T05:00:45.736Z | subchannel | (3) 172.128.1.2:443 creating HTTP/2 session
D 2022-02-27T05:00:45.746Z | resolving_load_balancer | dns:dev.test.com:443 IDLE -> IDLE
D 2022-02-27T05:00:45.749Z | connectivity_state | (5) dns:dev.test.com:443 IDLE -> IDLE
D 2022-02-27T05:00:45.752Z | dns_resolver | Resolver constructed for target dns:dev.test.com:443
D 2022-02-27T05:00:45.755Z | channel | (5) dns:dev.test.com:443 Channel constructed with options {
"grpc.ssl_target_name_override": "test.grpc.internal.com",
"grpc.default_authority": "test.grpc.internal.com"
}
D 2022-02-27T05:00:47.559Z | channel | (5) dns:dev.test.com:443 createCall [1] method="/jdy_log_query.JdyLogQuery/FindFileStatsAppByOwnerId", deadline=Infinity
D 2022-02-27T05:00:47.561Z | call_stream | [1] Sending metadata
D 2022-02-27T05:00:47.562Z | dns_resolver | Looking up DNS hostname dev.test.com
D 2022-02-27T05:00:47.564Z | resolving_load_balancer | dns:dev.test.com:443 IDLE -> CONNECTING
D 2022-02-27T05:00:47.565Z | connectivity_state | (5) dns:dev.test.com:443 IDLE -> CONNECTING
D 2022-02-27T05:00:47.567Z | resolving_load_balancer | dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:47.568Z | connectivity_state | (5) dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:47.569Z | channel | (5) dns:dev.test.com:443 callRefTimer.ref | configSelectionQueue.length=1 pickQueue.length=0
D 2022-02-27T05:00:51.324Z | call_stream | [1] write() called with message of length 40
D 2022-02-27T05:00:51.326Z | call_stream | [1] end() called
D 2022-02-27T05:00:51.329Z | call_stream | [1] deferring writing data chunk of length 45
D 2022-02-27T05:00:51.335Z | dns_resolver | Resolved addresses for target dns:dev.test.com:443: [172.128.1.2:443]
D 2022-02-27T05:00:51.339Z | pick_first | Connect to address list 172.128.1.2:443
D 2022-02-27T05:00:51.342Z | subchannel_refcount | (3) 172.128.1.2:443 refcount 2 -> 3
D 2022-02-27T05:00:51.345Z | pick_first | IDLE -> CONNECTING
D 2022-02-27T05:00:51.347Z | resolving_load_balancer | dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:51.349Z | channel | (5) dns:dev.test.com:443 callRefTimer.unref | configSelectionQueue.length=1 pickQueue.length=0
D 2022-02-27T05:00:51.352Z | connectivity_state | (5) dns:dev.test.com:443 CONNECTING -> CONNECTING
D 2022-02-27T05:00:51.356Z | channel | (5) dns:dev.test.com:443 Pick result: QUEUE subchannel: undefined status: undefined undefined
D 2022-02-27T05:00:51.360Z | channel | (5) dns:dev.test.com:443 callRefTimer.ref | configSelectionQueue.length=0 pickQueue.length=1
then the client hangs
Log2 without ssl: every thing is ok!
D 2022-02-27T12:15:33.785Z | resolving_load_balancer | dns:localhost:9095 IDLE -> IDLE
D 2022-02-27T12:15:33.787Z | connectivity_state | (2) dns:localhost:9095 IDLE -> IDLE
D 2022-02-27T12:15:33.789Z | dns_resolver | Resolver constructed for target dns:localhost:9095
D 2022-02-27T12:15:33.792Z | channel | (2) dns:localhost:9095 Channel constructed with options {}
D 2022-02-27T12:15:33.796Z | resolving_load_balancer | dns:localhost:9095 IDLE -> IDLE
D 2022-02-27T12:15:33.798Z | connectivity_state | (3) dns:localhost:9095 IDLE -> IDLE
D 2022-02-27T12:15:33.800Z | dns_resolver | Resolver constructed for target dns:localhost:9095
D 2022-02-27T12:15:33.802Z | channel | (3) dns:localhost:9095 Channel constructed with options {}
D 2022-02-27T12:15:39.117Z | channel | (2) dns:localhost:9095 createCall [0] method="/jdy_log_query.JdyLogQuery/FindFileStatsOwnerByOwnerId", deadline=Infinity
D 2022-02-27T12:15:39.120Z | call_stream | [0] Sending metadata
D 2022-02-27T12:15:39.122Z | dns_resolver | Looking up DNS hostname localhost
D 2022-02-27T12:15:39.125Z | resolving_load_balancer | dns:localhost:9095 IDLE -> CONNECTING
D 2022-02-27T12:15:39.127Z | connectivity_state | (2) dns:localhost:9095 IDLE -> CONNECTING
D 2022-02-27T12:15:39.129Z | resolving_load_balancer | dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.130Z | connectivity_state | (2) dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.132Z | channel | (2) dns:localhost:9095 callRefTimer.ref | configSelectionQueue.length=1 pickQueue.length=0
D 2022-02-27T12:15:39.137Z | call_stream | [0] write() called with message of length 40
D 2022-02-27T12:15:39.139Z | call_stream | [0] end() called
D 2022-02-27T12:15:39.141Z | channel | (3) dns:localhost:9095 createCall [1] method="/jdy_log_query.JdyLogQuery/FindFileStatsAppByOwnerId", deadline=Infinity
D 2022-02-27T12:15:39.142Z | call_stream | [1] Sending metadata
D 2022-02-27T12:15:39.144Z | dns_resolver | Looking up DNS hostname localhost
D 2022-02-27T12:15:39.146Z | resolving_load_balancer | dns:localhost:9095 IDLE -> CONNECTING
D 2022-02-27T12:15:39.148Z | connectivity_state | (3) dns:localhost:9095 IDLE -> CONNECTING
D 2022-02-27T12:15:39.149Z | resolving_load_balancer | dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.151Z | connectivity_state | (3) dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.152Z | channel | (3) dns:localhost:9095 callRefTimer.ref | configSelectionQueue.length=1 pickQueue.length=0
D 2022-02-27T12:15:39.154Z | call_stream | [1] write() called with message of length 40
D 2022-02-27T12:15:39.156Z | call_stream | [1] end() called
D 2022-02-27T12:15:39.158Z | call_stream | [0] deferring writing data chunk of length 45
D 2022-02-27T12:15:39.159Z | call_stream | [1] deferring writing data chunk of length 45
D 2022-02-27T12:15:39.165Z | dns_resolver | Resolved addresses for target dns:localhost:9095: [::1:9095,127.0.0.1:9095]
D 2022-02-27T12:15:39.167Z | pick_first | Connect to address list ::1:9095,127.0.0.1:9095
D 2022-02-27T12:15:39.170Z | subchannel | (4) ::1:9095 Subchannel constructed with options {}
D 2022-02-27T12:15:39.171Z | subchannel_refcount | (4) ::1:9095 refcount 0 -> 1
D 2022-02-27T12:15:39.173Z | subchannel | (5) 127.0.0.1:9095 Subchannel constructed with options {}
D 2022-02-27T12:15:39.174Z | subchannel_refcount | (5) 127.0.0.1:9095 refcount 0 -> 1
D 2022-02-27T12:15:39.176Z | subchannel_refcount | (4) ::1:9095 refcount 1 -> 2
D 2022-02-27T12:15:39.177Z | subchannel_refcount | (5) 127.0.0.1:9095 refcount 1 -> 2
D 2022-02-27T12:15:39.179Z | pick_first | Start connecting to subchannel with address ::1:9095
D 2022-02-27T12:15:39.181Z | pick_first | IDLE -> CONNECTING
D 2022-02-27T12:15:39.182Z | resolving_load_balancer | dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.184Z | channel | (2) dns:localhost:9095 callRefTimer.unref | configSelectionQueue.length=1 pickQueue.length=0
D 2022-02-27T12:15:39.185Z | connectivity_state | (2) dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.187Z | subchannel | (4) ::1:9095 IDLE -> CONNECTING
D 2022-02-27T12:15:39.189Z | pick_first | CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.191Z | resolving_load_balancer | dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.193Z | connectivity_state | (2) dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.195Z | channel | (2) dns:localhost:9095 Pick result: QUEUE subchannel: undefined status: undefined undefined
D 2022-02-27T12:15:39.197Z | channel | (2) dns:localhost:9095 callRefTimer.ref | configSelectionQueue.length=0 pickQueue.length=1
D 2022-02-27T12:15:39.198Z | subchannel | (5) 127.0.0.1:9095 IDLE -> CONNECTING
D 2022-02-27T12:15:39.200Z | pick_first | CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.202Z | resolving_load_balancer | dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.203Z | channel | (2) dns:localhost:9095 callRefTimer.unref | configSelectionQueue.length=0 pickQueue.length=0
D 2022-02-27T12:15:39.205Z | channel | (2) dns:localhost:9095 Pick result: QUEUE subchannel: undefined status: undefined undefined
D 2022-02-27T12:15:39.206Z | channel | (2) dns:localhost:9095 callRefTimer.ref | configSelectionQueue.length=0 pickQueue.length=1
D 2022-02-27T12:15:39.208Z | connectivity_state | (2) dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.210Z | subchannel | (4) ::1:9095 creating HTTP/2 session
D 2022-02-27T12:15:39.212Z | subchannel | (5) 127.0.0.1:9095 creating HTTP/2 session
D 2022-02-27T12:15:39.216Z | dns_resolver | Resolved addresses for target dns:localhost:9095: [::1:9095,127.0.0.1:9095]
D 2022-02-27T12:15:39.218Z | pick_first | Connect to address list ::1:9095,127.0.0.1:9095
D 2022-02-27T12:15:39.221Z | subchannel_refcount | (4) ::1:9095 refcount 2 -> 3
D 2022-02-27T12:15:39.223Z | subchannel_refcount | (5) 127.0.0.1:9095 refcount 2 -> 3
D 2022-02-27T12:15:39.224Z | pick_first | IDLE -> CONNECTING
D 2022-02-27T12:15:39.226Z | resolving_load_balancer | dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.227Z | channel | (3) dns:localhost:9095 callRefTimer.unref | configSelectionQueue.length=1 pickQueue.length=0
D 2022-02-27T12:15:39.229Z | connectivity_state | (3) dns:localhost:9095 CONNECTING -> CONNECTING
D 2022-02-27T12:15:39.231Z | channel | (3) dns:localhost:9095 Pick result: QUEUE subchannel: undefined status: undefined undefined
D 2022-02-27T12:15:39.232Z | channel | (3) dns:localhost:9095 callRefTimer.ref | configSelectionQueue.length=0 pickQueue.length=1
D 2022-02-27T12:15:39.247Z | subchannel | (4) ::1:9095 CONNECTING -> READY
D 2022-02-27T12:15:39.249Z | pick_first | Pick subchannel with address ::1:9095
D 2022-02-27T12:15:39.251Z | pick_first | CONNECTING -> READY
D 2022-02-27T12:15:39.252Z | resolving_load_balancer | dns:localhost:9095 CONNECTING -> READY
D 2022-02-27T12:15:39.254Z | channel | (2) dns:localhost:9095 callRefTimer.unref | configSelectionQueue.length=0 pickQueue.length=0
D 2022-02-27T12:15:39.255Z | channel | (2) dns:localhost:9095 Pick result: COMPLETE subchannel: ::1:9095 status: undefined undefined
D 2022-02-27T12:15:39.257Z | connectivity_state | (2) dns:localhost:9095 CONNECTING -> READY
D 2022-02-27T12:15:39.259Z | subchannel_refcount | (4) ::1:9095 refcount 3 -> 4
D 2022-02-27T12:15:39.260Z | subchannel_refcount | (4) ::1:9095 refcount 4 -> 3
D 2022-02-27T12:15:39.262Z | subchannel_refcount | (5) 127.0.0.1:9095 refcount 3 -> 2
D 2022-02-27T12:15:39.263Z | pick_first | Pick subchannel with address ::1:9095
D 2022-02-27T12:15:39.265Z | pick_first | CONNECTING -> READY
D 2022-02-27T12:15:39.266Z | resolving_load_balancer | dns:localhost:9095 CONNECTING -> READY
D 2022-02-27T12:15:39.267Z | channel | (3) dns:localhost:9095 callRefTimer.unref | configSelectionQueue.length=0 pickQueue.length=0
D 2022-02-27T12:15:39.269Z | channel | (3) dns:localhost:9095 Pick result: COMPLETE subchannel: ::1:9095 status: undefined undefined
D 2022-02-27T12:15:39.270Z | connectivity_state | (3) dns:localhost:9095 CONNECTING -> READY
D 2022-02-27T12:15:39.272Z | subchannel_refcount | (4) ::1:9095 refcount 3 -> 4
D 2022-02-27T12:15:39.273Z | subchannel_refcount | (4) ::1:9095 refcount 4 -> 3
D 2022-02-27T12:15:39.275Z | subchannel_refcount | (5) 127.0.0.1:9095 refcount 2 -> 1
D 2022-02-27T12:15:39.278Z | call_stream | Starting stream on subchannel (4) ::1:9095 with headers
grpc-accept-encoding: identity,deflate,gzip
accept-encoding: identity
:authority: localhost:9095
user-agent: grpc-node-js/1.5.7
content-type: application/grpc
:method: POST
:path: /jdy_log_query.JdyLogQuery/FindFileStatsOwnerByOwnerId
te: trailers
D 2022-02-27T12:15:39.280Z | subchannel_flowctrl | (4) ::1:9095 local window size: 65535 remote window size: 65535
D 2022-02-27T12:15:39.281Z | subchannel_internals | (4) ::1:9095 session.closed=false session.destroyed=false session.socket.destroyed=false
D 2022-02-27T12:15:39.283Z | call_stream | [0] attachHttp2Stream from subchannel ::1:9095
D 2022-02-27T12:15:39.284Z | subchannel_refcount | (4) ::1:9095 callRefcount 0 -> 1
D 2022-02-27T12:15:39.286Z | call_stream | [0] sending data chunk of length 45 (deferred)
D 2022-02-27T12:15:39.288Z | call_stream | [0] calling end() on HTTP/2 stream
D 2022-02-27T12:15:39.290Z | call_stream | Starting stream on subchannel (4) ::1:9095 with headers
grpc-accept-encoding: identity,deflate,gzip
accept-encoding: identity
:authority: localhost:9095
user-agent: grpc-node-js/1.5.7
content-type: application/grpc
:method: POST
:path: /jdy_log_query.JdyLogQuery/FindFileStatsAppByOwnerId
te: trailers
D 2022-02-27T12:15:39.292Z | subchannel_flowctrl | (4) ::1:9095 local window size: 65535 remote window size: 65535
D 2022-02-27T12:15:39.294Z | subchannel_internals | (4) ::1:9095 session.closed=false session.destroyed=false session.socket.destroyed=false
D 2022-02-27T12:15:39.296Z | call_stream | [1] attachHttp2Stream from subchannel ::1:9095
D 2022-02-27T12:15:39.298Z | subchannel_refcount | (4) ::1:9095 callRefcount 1 -> 2
D 2022-02-27T12:15:39.300Z | call_stream | [1] sending data chunk of length 45 (deferred)
D 2022-02-27T12:15:39.302Z | call_stream | [1] calling end() on HTTP/2 stream
D 2022-02-27T12:15:39.304Z | subchannel | (5) 127.0.0.1:9095 CONNECTING -> READY
D 2022-02-27T12:15:39.380Z | subchannel | (5) 127.0.0.1:9095 new settings received: {"headerTableSize":4096,"enablePush":true,"initialWindowSize":1048576,"maxFrameSize":16384,"maxConcurrentStreams":2147483647,"maxHeaderListSize":8192,"maxHeaderSize":8192,"enableConnectProtocol":false}
D 2022-02-27T12:15:39.382Z | subchannel | (4) ::1:9095 new settings received: {"headerTableSize":4096,"enablePush":true,"initialWindowSize":1048576,"maxFrameSize":16384,"maxConcurrentStreams":2147483647,"maxHeaderListSize":8192,"maxHeaderSize":8192,"enableConnectProtocol":false}
D 2022-02-27T12:15:39.390Z | subchannel | (5) 127.0.0.1:9095 local settings acknowledged by remote: {"headerTableSize":4096,"enablePush":true,"initialWindowSize":65535,"maxFrameSize":16384,"maxConcurrentStreams":4294967295,"maxHeaderListSize":4294967295,"maxHeaderSize":4294967295,"enableConnectProtocol":false}
D 2022-02-27T12:15:39.421Z | subchannel | (4) ::1:9095 local settings acknowledged by remote: {"headerTableSize":4096,"enablePush":true,"initialWindowSize":65535,"maxFrameSize":16384,"maxConcurrentStreams":4294967295,"maxHeaderListSize":4294967295,"maxHeaderSize":4294967295,"enableConnectProtocol":false}
D 2022-02-27T12:15:40.018Z | call_stream | [0] Received server headers:
:status: 200
content-type: application/grpc
grpc-status: 0
D 2022-02-27T12:15:40.020Z | call_stream | [0] Received server trailers:
:status: 200
content-type: application/grpc
grpc-status: 0
D 2022-02-27T12:15:40.022Z | call_stream | [0] received status code 0 from server
D 2022-02-27T12:15:40.024Z | call_stream | [0] ended with status: code=0 details=""
D 2022-02-27T12:15:40.027Z | call_stream | [0] close http2 stream with code 0
D 2022-02-27T12:15:40.029Z | subchannel_refcount | (4) ::1:9095 callRefcount 2 -> 1
D 2022-02-27T12:15:40.032Z | call_stream | [0] HTTP/2 stream closed with code 0
D 2022-02-27T12:15:40.033Z | call_stream | [1] Received server headers:
:status: 200
content-type: application/grpc
grpc-status: 0
D 2022-02-27T12:15:40.034Z | call_stream | [1] Received server trailers:
:status: 200
content-type: application/grpc
grpc-status: 0
D 2022-02-27T12:15:40.036Z | call_stream | [1] received status code 0 from server
D 2022-02-27T12:15:40.038Z | call_stream | [1] ended with status: code=0 details=""
D 2022-02-27T12:15:40.039Z | call_stream | [1] close http2 stream with code 0
D 2022-02-27T12:15:40.042Z | subchannel_refcount | (4) ::1:9095 callRefcount 1 -> 0
D 2022-02-27T12:15:40.050Z | call_stream | [1] HTTP/2 stream closed with code 0
D 2022-02-27T12:15:49.169Z | subchannel_refcount | (5) 127.0.0.1:9095 refcount 1 -> 0
D 2022-02-27T12:15:49.172Z | subchannel | (5) 127.0.0.1:9095 READY -> TRANSIENT_FAILURE
D 2022-02-27T12:15:49.176Z | subchannel | (5) 127.0.0.1:9095 TRANSIENT_FAILURE -> IDLE
Issue Analytics
- State:
- Created 2 years ago
- Comments:13 (4 by maintainers)
Top Results From Across the Web
c# - WCF callback not invoked on the client-side and hangs on ...
I have enabled tracing on the client-side and server-side and it is logged that the server sends the callback and the client receives...
Read more >WPF client application hangs on periodic WCF Callbacks
Hi,. I have a WCF application using the NetTcpBinding. The Server is sending data every second to all connected clients.
Read more >User Callback - Libwebsockets
A new client has been accepted by the ws server. This callback allows setting any relevant property to it. Because this happens immediately...
Read more >Client Connection Closure Callback - ONC+ RPC Developer's ...
The server can take the necessary action to recover from transport errors. Transport errors occur when a request arrives at the server, or...
Read more >Don't Block the Event Loop (or the Worker Pool) - Node.js
In a server, you should not use the following synchronous APIs from these modules: Encryption: crypto.randomBytes (synchronous version); crypto.randomFillSync ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I guess the current situation is different because the TLS module of node version is different.
grpc-js 1.5.7 + Node 14.18.3 Error, client hangs and no callback from server grpc-js 1.5.7 + Node 12.16.2 Error, I got some error: ‘connection closed with error unable to verify the first certificate’
I’ve tested version 1.6.4 and it’s the same problem, cry…