草庐IT

Qt之UDP通信

全部标签

go - 在 TCP 连接的端口上发送 UDP 数据包

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改善这个问题吗?通过editingthispost添加详细信息并澄清问题.3年前关闭。Improvethisquestion我有一个GolangTCP服务器,即net.TCPConn,连接在一个端口上,除了TCP流之外,它还必须接收UDP数据包并以UDP数据包进行响应。传入的UDP数据包在服务器上弹出(来自net.TCPConn.Read()),但我不知道如何再次发回UDP数据包。所有UDP写入方法仅适用于net.UDPConn.net.UDPConn.WriteMsgUDP()诱人地谈论它是应用于连接的还是非连接

go - 同一网络中的应用程序和服务器之间的通信

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我正在开发将在kubernetes上运行的CI/CD工具。该应用程序将负责创建一个k8s作业对象,该对象将被视为一个slave以运行管道。图像,slave将运行完全取决于用户,所以我无法控制它,除了它会在与CI/CD应用程序相同的本地网络中运行。我的问题是;在这种情况下,如何使CI/CD工具与从属之间进行通信?为了为此添加更多上下文,我想创建类似于Jenkins的东西。Jenkins与kubernetes

golang udp客户端无法从服务器接收消息

我可以成功地从客户端向服务器发送消息。但是当我尝试回复消息给客户端时,客户端却无法接收到消息。客户:conn,_:=net.Dial("udp",serv_addr:port)deferconn.close()buf:=[]byte("Hey,server")conn.Write(buf)recv:=make([]byte,1024)fmt.Println("Reading...\n")conn.Read(recv)服务器:addr,_:=net.ResolveUDPAddr("udp",addr:port)msg:=make([]byte,1024)conn,_:net.Listen

function - 我可以为每个被调用的函数提供函数 ID 并与之通信吗?

我将使用gofunctionABC()调用一个函数来建立BOSH连接。在函数中,我会通过发送ping信息来保持连接状态。因此,可能会有很多functionABC()调用。那么现在,如果我想从函数中获取一些信息,我可以通过函数ID或进程ID来识别函数吗?Go是否有函数ID或进程ID来标识函数?如果是这样,我如何与这个函数通信?如果没有,是否有任何替代方法可以实现它? 最佳答案 也许使用map并从您的函数返回一个唯一的id/连接并将其分配给map,例如this:varcounteruint64funcReturnStuff()(uint

go - 为什么我的 UDP 拨号器没有监听?

我有两个程序,一个监听器和一个拨号器。我想要同一端口上的双向UDP通信。我的监听器按预期读取从拨号器发送的数据报,然后发回它自己的5个数据报。唯一的问题是,我的拨号器没有读取它。我尝试使用net.DialUDP,但是当我使用它时,从拨号器发送了0个数据报。listener-效果很好funcmain(){addr:=net.UDPAddr{Port:7000,IP:net.ParseIP("127.0.0.1"),}conn,err:=net.ListenUDP("udp",&addr)deferconn.Close()iferr!=nil{panic(err)}i:=0b:=make(

node.js - UDP 和网络套接字的数据丢失

我有以下场景:本地PC通过蓝牙以50.000位/秒的速度接收数据样本。数据通过UDP发送到某个服务器。服务器依次通过网页/JavaScript和网络套接字将数据分发到处理数据的已连接浏览器。最终,来自浏览器的结果通过UDP传回本地PC。到目前为止,我正在试验严格的本地设置,即一切都在一台拥有四核CPU的机器上运行。我已经用node.js和golang编写了服务器代码。在这两种情况下,都存在严重的数据丢失,即即使只有一个Web套接字客户端连接,也并非服务器成功接收到通过UDP发送的每个样本。造成损失的瓶颈在哪里?一切都在本地机器上运行是事实吗?会不会是websocket带宽太小了?使用W

ruby-on-rails - Golang 微服务和与现有应用程序的通信

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion我想对我们的Rails应用程序进行一些扩展,我想使用Golang。所以,今天我们有相当大的应用程序是用RoR编写的,其中很多处理和计算都是通过Ruby进行的,这在某些情况下变得很慢。我想提取我们应用程序的某些部分,并用Golang重写它们以获得更好的性能。我想听听一些好的建议和做法,尤其是如何开始拆分它们。最好的问候

docker - 通信运行 golang 的多个容器

我正在尝试使用golang和Docker制作简单的微服务我不明白如何从mainmodule调用add.go函数。Thispost做同样的事情,但它使用github存储库并构建它。我是golang和Docker的新手,所以任何能让这个简单应用正常运行的建议都很好。这是我的文件夹结构。-addmodule-add.go-Dockerfile-mainmodule-main.go-Dockerfile-docker-compose.ymladdmodule中的DockerfileFROMgolang:alpineRUNapkupdateCOPY./go/srcWORKDIR/go/srcRU

multithreading - 通过 golang 中的 channel 进行双向通信

我有几个函数,我希望它们以原子方式执行,因为它们处理敏感数据结构。假设以下场景:有两个函数:lock(sth)和unlock(sth),goroutine可以随时调用它们来锁定或解锁sth全局数组。我正在考虑拥有一个命令channel,以便goroutines将lock和unlock命令发送到channel中,并在channel的接收端,某种处理程序通过从channel中获取命令,依次处理lock、unlock请求。这很好,但是如果handler想要将结果发送回请求者怎么办?是否可以使用golangchannel这样做?我知道可以使用某种锁定机制,如互斥锁,但我想知道是否可以为这种用例

sockets - UDP 代理,如何维护/重用/清除连接的客户端池?

我正在创建一个UDP-proxy在go,但在使用iperf进行一些负载测试时,我开始收到此错误:socket:toomanyopenfiles经过搜索和测试,我发现如果我使用map创建一个池打开连接是关键*net.UDPAddr.String()value是UDP-proxy的一个实例包含*net.UDPConn,如果客户端地址相同,我可以重用现有连接:varclientsmap[string]*UDPProxy.UDPProxy=make(map[string]*UDPProxy.UDPProxy)这blockcode看起来像://waitforconnectionsfor{n,cl