草庐IT

my_socket

全部标签

sockets - 在 Azure 中动态打开端口,负载均衡器是否足够智能以路由到正确的端口?

据我所知,我只能在Azure应用程序中打开5个端点,但如果我动态打开这些端口会怎样?示例:我有一个WorkerRole用,然后第一个实例在我在“.csdef”文件中声明的5个可用端点之一中打开一个套接字,当连接转到“myapp.cloudapp.net”时......连接是否有可能转到没有监听套接字的第二种情况?我想是的,因为负载均衡器正在使用循环调度,它不关心并且它可以将连接转发到第二个,但我可能错了。问候。 最佳答案 你猜对了。绝对没有办法将流量定向到特定实例,并且负载均衡器不知道您的实例是否正在运行监听器。实现这一目标的唯一方

c# - 无法通过 TCP/Sockets .net 退出具有多个缓冲区传输的循环

我正在使用.Net(System.Net.Sockets)通过TCP/套接字传输数据我在客户端使用这段代码:tc.SendBufferSize=4096DimfsAsNewFileStream(wfile,FileMode.Open,FileAccess.Read)DimrijnAsNewRijndaelManagedDimcsAsNewCryptoStream(fs,rijn.CreateEncryptor(CreateKey(key),CreateIV(IV)),CryptoStreamMode.Read)DimbytesToSend(tc.SendBufferSize)AsByt

sockets - 如何告诉 TCP 服务器特定消息已经结束?

TCP客户端逐字节发送数据。那么,如何告诉服务器这条消息已经结束,新的消息现在开始呢?一种方法是修复将作为书签发送的特殊字符,但该字符也可能是消息的一部分,从而导致混淆。还有其他最佳出路吗? 最佳答案 如果消息是二进制的,则不可能使用特殊字符进行定界编码。标签长度值(TLV)编码最适合这种情况。例如+--------+----------+----------------+|Tag|Length|Content||0x0001|0x000C|"HELLO,WORLD"|+--------+----------+-----------

sockets - Nodejs TCP套接字,结束时不包含remoteAddress信息

我正在构建一个简单的回显服务器,目的是学习有关使用node.js构建tcp服务的基础知识,并找出可用的信息。当我创建服务器时,如下所示,我可以访问有关incomingSocket的信息,例如远程地址。为什么我无法访问有关关闭套接字的信息?以下是我的代码;我的评论表示我收到的输出。varnet=require('net');varserver=net.createServer(function(incomingSocket){//'connection'listenerconsole.log('Connectionfrom'+incomingSocket.remoteAddress+':

java - 软件导致连接中止 : socket write error

我有一个案例,客户端在与服务器建立连接后,收到一个文件,当使用相同的连接(持久)时,我最终得到了上面提到的这个错误。下面是实现的代码:Scannerin=newScanner(file);this.clientSocket=newSocket(this.host,this.port);this.os=newDataOutputStream(this.clientSocket.getOutputStream());this.is=this.clientSocket.getInputStream();while(in.hasNextLine()){newFile=in.nextLine()

ruby 套接字 : Error (EINVAL) while trying to bind a sending socket to a port

当我尝试从blue.example.edu连接到green.example时,connect方法无法给出EINVAL.edu当我从blue连接到blue本身时,我没有收到此错误。rubydocumentation在connect下建议Errno::EINVAL-theaddresslengthusedforthesockaddrisnotavalidlengthfortheaddressfamilyorthereisaninvalidfamilyinsockaddr但是当我尝试将blue连接到其自身的另一个端口时,由于相同的参数工作正常,这可能是错误的?这是代码片段:MY_NAME=S

sockets - TCP套接字的传输时间

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。更详细地描述您的问题或includeaminimalexample在问题本身。关闭8年前。Improvethisquestion我想知道TCP套接字的传输时间是否可配置。我正在发送一个有效负载大小为19字节的TCP数据包,传输时间似乎约为1秒。这可以被打倒,还是必须接受它是什么?

C++ TCP Socket客户端发送数据失败

我正在用C++编写一个简单的套接字客户端。这是代码:主要.h:#ifndefCC_Client_main_h#defineCC_Client_main_hvoiderror(std::stringmsg);#endif主要.cpp#include#include"communications.h"#include"main.h"voiderror(std::stringmsg){std::cerr通讯.h#ifndef__CC_Client__communications__#define__CC_Client__communications__#include#include#inc

C++ : how to close a tcp socket (server) when receiving SIGKILL

如何在死前关闭套接字?我在linux上有一个创建TCP服务器的服务。有时我必须重新启动它并且我希望套接字真正关闭。此刻它挂了。我也知道SIGKILL无法处理。谁能指出我正确的方向? 最佳答案 套接字将被关闭-操作系统将自动执行此操作,请参阅:UsingSO_REUSEADDR-Whathappenstopreviouslyopensocket?与其尝试处理SIGKILL,这不会起作用,不如从一开始就解决问题:使用SO_REUSEADDR套接字选项,它允许您立即重用端口。 关于C++:ho

sockets - 是否可以通过一个 TCP 连接建立两个 SOCKSv4a session 连接?

我正在尝试从到SOCKSv4a代理服务器的单个TCP连接创建多个隧道,以防止关闭和重新打开一堆到SOCKS代理的套接字。类似于“连接:保持事件”。我怎样才能做到这一点?协议(protocol)允许吗? 最佳答案 不,这不被任何版本的SOCKS支持(也不被HTTP/1.1CONNECT方法支持——keep-alive被CONNECT忽略)。一旦隧道建立,它就是原始数据的直接传递,直到客户端或服务器断开连接。您需要为每个与服务器的新连接打开一个单独的客户端代理连接。 关于sockets-是否