小编iam*_*her的帖子

如何响应多个 gRPC 客户端?

我正在构建一个可以拥有多个 gRPC 服务器并且肯定会有多个 gRPC 客户端的应用程序,我想知道如何在服务器端识别这是我正在交谈的客户端,并且只向该客户端发送数据。我正在使用双向流 RPC,现在数据被广播到每个客户端,但我不希望这样。go gRPC 中的哪些功能使其成为可能,或者我该如何实现它?

distributed-computing go grpc grpc-go

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

Golang io.Copy 内部 ReadFrom 中的块

我正在 golang 中构建一个终端模拟器,我试图运行分离的进程,我可以从中复制输出并将其显示给用户,但是 io.Copy 功能块,因此我无法继续输出部分

我查看了源代码,它阻止了内部 ReadFrom 方法,我不明白为什么会这样

package main

import (
    "bytes"
    "fmt"
    "io"
    "os"
)

func main() {
    inputReader, inputWriter, _ := os.Pipe()
    outputReader, outputWriter, _ := os.Pipe()

    io.Copy(inputWriter, bytes.NewReader([]byte("\n")))

    stdin := inputReader
    stdout := outputWriter
    stderr := outputWriter

    var attr = os.ProcAttr{
        Dir: "/tmp",
        Env: nil,
        Files: []*os.File{
            stdin,
            stdout,
            stderr,
        },
        Sys: nil,
    }

    process, startProcessErr := os.StartProcess("/usr/bin/ls", []string{"ls"}, &attr)
    if startProcessErr != nil {
        panic(startProcessErr)
    }

    if releaseProcessErr := process.Release(); releaseProcessErr != nil {
        panic(releaseProcessErr) …
Run Code Online (Sandbox Code Playgroud)

go

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

标签 统计

go ×2

distributed-computing ×1

grpc ×1

grpc-go ×1