tcp相关内容
我有一个 ELK 堆栈.在两个 Logstash 主机前面,我设置了两个 NGINX 负载均衡器作为透明代理.UDP 流量正在发挥作用.TCP 与配置一起工作: stream {上游系统日志{服务器 sapvmlogstash01.sa.projectplace.com:514;服务器 sapvmlogstash02.sa.projectplace.com:514;}服务器 {听514;prox
..
如何将 /proc/net/tcp 的 'inode' 列中的值绑定到 /proc//fd/ 中的文件? 我的印象是 TCP 中的 inode 列具有套接字 inode 的十进制表示,但似乎并非如此. 例如,如果我运行 telnet localhost 80,我会看到以下内容(telnet 为 pid 9021). /proc/net/tcp 包含 sl local_addre
..
为什么有人更喜欢阻塞写入而不是非阻塞写入?我的理解是,如果您想确保在 write 方法返回后另一方收到 TCP 数据包,您只会想要阻塞 write,但我什至不确定这是否可能.您将不得不刷新并且刷新必须刷新底层操作系统写入套接字缓冲区.那么非阻塞套接字写入有什么缺点吗?就性能而言,拥有一个大的底层写套接字缓冲区是一个坏主意吗?我的理解是,底层套接字写入缓冲区越小,您就越有可能遇到慢速/有问题的客户端
..
我有一个 Socket 监听某个 x 端口. 我可以将数据从我的客户端应用程序发送到套接字,但无法从服务器套接字获得任何响应. BufferedReader bis = new BufferedReader(newInputStreamReader(clientSocket.getInputStream()));字符串输入行;while ((inputLine = bis.readLin
..
我有一个应用程序,我为分布在整个公司的应用程序编写了一个应用程序,可以通过我们的 Windows 2003 服务器(运行 IIS 6.0)向我发送数据.小文本消息可以通过,但包含更多数据(约 20 KB)的大消息无法通过. 我将字节缓冲区设置为 TCP 客户端的缓冲区大小.我注意到服务器正在接收我的数据;然而,它只在接收例程中循环一次,我的大文件总是正好是缓冲区大小的大小,或者我们服务器上的
..
我正在编写 inetd 的克隆,其中我必须运行一个服务器来打印连接到它的客户端的 IP 和端口. 当我用套接字描述符覆盖 STDIN 和 STDOUT 时,我最初的解决方案 是恢复 sockaddr_in 结构,其中包含所需的信息.但是,使用 getsockname() 执行此操作会返回一个空结构,所有位都设置为 0. 知道我的方法有什么问题吗?我可以使用其他方法来恢复 IP/端口吗?
..
我正在尝试通过 TcpClient (byte[]) 发送包含特殊字符的字符串.举个例子: 客户在文本框中输入“amé" 客户端使用某种编码将字符串转换为字节[](我已经尝试了所有预定义的编码以及诸如“iso-8859-1"之类的) 客户端通过 TCP 发送 byte[] 服务器接收并输出使用相同编码重新转换的字符串(到列表框) 编辑: 我忘了提到结果字符串是“am?".
..
是否有任何命令可用于从某个程序中断现有的 TCP/IP 连接? 操作系统是否知道 TCP 连接中的任何内容,或者操作系统是否只看到本地套接字上的 TCP 传输,而不知道哪个请求被提供给哪个套接字? 例如,如果 Firefox 向某个服务器的端口 80 发送请求并正在等待答复.那么是否有可能找到 Firefox 侦听端口并诱使 Firefox 显示 ERR_CONNECTION_REFU
..
我正在尝试测试已被对等端正常关闭的已关闭套接字,而不会产生双重发送的延迟命中以引发 SIGPIPE. 这里的一个假设是套接字在最后一次写入/发送后立即被对等方优雅地关闭.像过早关闭这样的实际错误会在代码中的其他地方处理. 如果套接字仍然打开,将会有 0 个或更多字节的数据,我实际上还不想从套接字缓冲区中拉出. 我想我可以调用 int ret = recv(sockfd, buf,
..
我正在运行一个运行 2.6.9-55.ELsmp、x86_64 的 Linux 机器. 我正在尝试使用 C 的 setsockopt() 函数设置 TCP 接收窗口.我尝试以下操作: rwnd = 1024;setockopt(sock, SOL_SOCKET, SO_RCVBUF, (char *)&rwnd, sizeof(rwnd)); 上面的代码段位于从服务器接收数据的客户端程序
..
我正在创建一个 TCP 服务器,它将使用 boost asio,它将接受来自许多客户端的连接、接收数据并发送确认.问题是我希望能够接受所有客户,但我一次只想与一个客户合作.我希望所有其他事务都保留在队列中. 示例: Client1 连接 Client2 连接 Client1 发送数据并请求回复 Client2 发送数据并请求回复 Client2 的请求被放入队列 Client
..
我想在 C# 中发送一个 TCP 数据包(带有自定义标头).构建这样的数据包是没有问题的,我有一个字节数组中的数据.但是我如何通过套接字发送这个数据包? 我尝试过这样的事情: using (Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP)){TcpPacket tcpP
..
我正在尝试创建 linux 内核模块,它将检查传入的数据包.目前,我正在提取数据包的 TCP 标头并读取源和目标端口 -> 但是我得到的值不正确.我有钩子功能: unsigned int hook_func(unsigned int hooknum, struct sk_buff *skb,const struct net_device *in,const struct net_device *
..
我的最终目标是通过 Internet 将打印作业发送到打印机.问题是打印机直接连接到路由器,所以我不能指望计算机处理任何事情. 打印作业的路径是:计算机 -> Internet -> 路由器 -> 打印机 打印机是 Epson TM-T88V,带有 UB-E02 连接模块(它最初带有 25 针模块). 路由器是 D-Link DIR-655,端口 9500 重定向到 LAN 端口
..
在 Linux(内核 3.0.0.12;带有 GCC 4.6.1 的 C++)上,我想通过 (POSIX) 发送调用相互发送几个 TCP 数据包. 使用 Wireshark,我可以看到数据包不是在单独的 TCP 帧中发送的,而是两个或更多在一个数据包中一起发送. 有没有办法告诉系统从自己的 TCP 数据包中的一个 send() 缓冲区发送数据?程序流不应在发送调用时阻塞. 解决方
..
我的线程 TCP 服务器出现问题. 我可以打开我的服务器,创建一个新的 Socket,我可以通过套接字接收数据(我使用了 readyRead() 信号,然后使用了 readLine() 来读取,这工作正常.现在我想将数据写入这个 Socket来自另一个线程,所以我创建了一个公共插槽 writeData() 来处理这个问题.我将 writeData() 插槽与 QueuedConnection 连
..
我需要想出可以可靠地向其他客户端多播的客户端.这意味着我将使用 TCP 在多播组内的客户端之间进行可靠连接.这不是达到 n^2 个连接数吗?这对我来说似乎有点傻.难道/不应该有一种方法可以更轻松地可靠地进行多播吗? 编辑:UNIX/C 编辑:我没有说明多线程是如何发挥作用的.但如果我要打开 n^2 个连接,我想,我会是多线程的,这比我想要的更复杂. 解决方案 有几种可靠的多播解
..
我正在尝试使用 smack 4.1.0 运行此代码 Thread D= new Thread(new Runnable() {@覆盖公共无效运行(){SmackConfiguration.setDefaultPacketReplyTimeout(10000);XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfigurati
..
我有一个使用 Modbus TCP 的设备.我想从中读取数据并将其显示在网页上(没有中间服务器). 我发现了一个与 Chrome 扩展程序几乎完全相同的项目: https://github.com/Cloud-Automation/chrome-modbus 它在javascript代码中使用:chrome.sockets.tcp 我希望我可以使用 WebSockets 在
..
我已经使用 TcpListener 和 TcpClient 设置了服务器和客户端. 我想将一个对象发送到我的服务器应用程序进行处理. 我发现了 using System.Runtime.Serialization 和以下 文档,但我不想胡说八道,发现我正在用冗长的方式做这件事. 问题:通过 TCP 流处理和发送对象的最佳方法是什么? 发送和接收. 以下是我的对象示例:
..