草庐IT

$客户端

全部标签

Gorilla Websocket 手动关闭客户端连接

我尝试关闭连接手册(使用DarkWebSocketTerminal),但客户端告诉我1005(无状态Rcvd)服务器:ReadLoop:for{mt,message,err:=c.ReadMessage()iferr!=nil{log.Println("read:",err)log.Println("messageType:",mt)ifwebsocket.IsUnexpectedCloseError(err,websocket.CloseGoingAway,websocket.CloseAbnormalClosure){log.Printf("error:%v",err)}c.Wri

go - 如何在 Golang gRPC 中获取客户端 IP 地址和用户代理?

我设置了一系列gRPC请求和响应,一切正常,但当我尝试获取调用我的gRPCAPI的客户端IP地址和用户代理时,我卡住了。我阅读了GogRPC文档和其他资源,但没有找到太多有值(value)的信息。他们中很少有人在谈论Golang中的gRPC。在设置gRPCAPI时,我是否应该设置一个键值对来存储上下文中的IP地址? 最佳答案 在GolangGRPC中,你可以使用func(UserServicesServer)Login(ctxcontext.Context,request*sso.LoginRequest)(*sso.LoginRe

go - 使用 Golang 客户端库向 GCP Compute 批量请求

是否可以使用Go的GoogleAPI客户端库执行批量请求?更准确地说,我想删除一些磁盘;如果我可以避免对每个磁盘发出请求,那就太好了。我指的是批量请求功能:https://cloud.google.com/compute/docs/api/how-tos/batch我正在使用的客户端库:https://github.com/googleapis/google-api-go-client似乎还有另一个客户端库,但不支持计算引擎,只有元数据(?):https://github.com/GoogleCloudPlatform/google-cloud-go 最佳答

c - 通过Cgo访问aerospike C客户端报错

我正在尝试学习Cgo,所以我尝试从Cgo访问aerospike客户端packagemain//#cgoCFLAGS:-g-Wall//#include//#include//#include"aerospike-client-c/examples/put/example_utils.h"import"C"import("unsafe")funcmain(){retvals:=C.putitnew()_=retvals}但我遇到以下错误。(请注意,当我执行make和makerun时,C程序运行成功)。undefinedreferenceto`example_get_opts'./aero

c++ - gRPC 客户端流

客户端流的官方gRPC文档指出:Theserversendsbackasingleresponse,typicallybutnotnecessarilyafterithasreceivedalltheclient’srequests...我正在尝试做的是在流中间捕获服务器响应以停止发送更多数据。在Go中,我可以使用RecvMsg启动一个新的goroutine监听来自服务器的消息,但我找不到在C++中执行相同操作的方法。看起来像ClientWriter不提供这种功能。一个解决方案是拥有一个双向流,但想知道是否有任何其他方法可以在C++中实现这一点。 最佳答案

go - Kubernetes 去客户端 : list events

我正在尝试获取命名空间中的事件列表,但无论是否使用FieldSelector,我都会得到一个空列表。这是正确的做法吗?eventListOptions:=metav1.ListOptions{FieldSelector:fields.OneTermEqualSelector("involvedObject.name",job.Name).String()}jobEvents,_:=clientset.EventsV1beta1().Events(GetNamespace()).List(eventListOptions) 最佳答案

sockets - Golang - 为到不同服务器的多个连接扩展 websocket 客户端

我有一个websocket客户端。实际上,它比下面显示的基本代码复杂得多。我现在需要扩展此客户端代码以打开到多个服务器的连接。最终,从服务器接收到消息时需要执行的任务是相同的。处理这个问题的最佳方法是什么?正如我上面所说,接收消息时执行的实际代码比示例中显示的要复杂得多。packagemainimport("flag""log""net/url""os""os/signal""time""github.com/gorilla/websocket")varaddr=flag.String("addr","localhost:1234","httpserviceaddress")funcm

go - 如何在 grpc go 中实现非阻塞客户端?

我想在不同的服务器上运行不同的远程程序而不等待服务器的回复。当服务器完成程序时,我想在客户端回复。可以用grpcgolang做吗?我想实现一个区block链网络,我想要求不同的节点执行交易,但我不想等到一个节点提供执行输出,然后我才转移到另一个节点。换句话说,我想广播程序的执行过程,然后在执行过程中得到所有答案。我尝试了连接客户端和服务器的常用方法,但它等待服务器的响应。这会增加需要在更多节点上执行的时间。 最佳答案 你可以使用gofunc(){}()做异步任务,你可以使用同步内置包轻松控制异步任务或使用channel来控制或同步任

不提供 http 服务时的 golang 客户端负载均衡器

作为golangn00b,我有一个go程序可以将消息读入kafka,修改它们,然后将它们发布到列表中的一个http端点。到目前为止,我们用随机数做了一些非常基本的循环cur:=rand.Int()%len(httpEndpointList)我想改进这一点,并根据端点的响应时间或类似因素增加端点的权重。我已经研究过库,但我似乎发现所有这些都是为用作使用http.Handle的中间件而编写的。例如,请参阅oxylibroundrobin在我的情况下,我不服务于HTTP请求。有什么想法可以让我在我的golang程序中实现那种更高级的客户端负载平衡吗?我想避免在我的环境中使用另一个haprox

go - 可以使用 go HTTP 客户端访问 TCP 数据包详细信息吗?

我需要能够验证来自一组HTTP服务器的响应数据上的TOS/DSCP标记。给定要测试的目标URL列表,如果go中有一种方法可以生成HTTP请求,然后能够检查响应的TCP数据包详细信息以获得TOS值?此时我的假设是它可能需要创建一个套接字,然后动态生成一个包含HTTP请求负载的TCP数据包。我一直在四处搜索,看看是否有任何库可以帮助完成这项任务,但还没有找到任何具体的内容。注意:一个简单的TCP连接将无法提供足够的数据-有问题的目标服务器将根据HTTP服务器名称动态更改TOS/DSCP标记(因此本质上,单个物理服务器将根据不同的TOS标记响应vHostrequested),因此能够在实际的