草庐IT

socket通信

全部标签

sockets - Linux内核TCP Socket修改

有什么简单的方法可以修改tcpsocket参数吗?例如:Server_program正在使用eth0和10.0.0.1,它无法重新启动,我需要在eth1和192.168.0.1上重新创建套接字。我知道还有其他一些不重要的问题,但我现在正在寻找的是在内核中“即时”修改套接字的可能性。感谢您的任何建议。 最佳答案 打开新套接字,执行任何需要的步骤使其连接并进入相同状态,然后使用dup2()。将旧文件描述符转换为新文件描述符的克隆。 关于sockets-Linux内核TCPSocket修改,我

c# - 通过 TCP 处理客户端/服务器通信 - 一般问题

用Google搜索我的问题有点棘手,因为它更多的是关于流程的问题,而不是严格的技术问题。我正在设置一个基本的TCP客户端/服务器系统,我想知道来回通信应该如何理想地工作。在我的特定情况下,客户端必须提交登录凭据,并从服务器发出特定请求(服务器与远程数据库交互)。这是我想做的..我只是从其他开发者的意见中寻找。SERVER:WaitfornewconnectionsCLIENT:ConnectstoserverCLIENT:Onceconnected,sendlogincredentialswithaninstructioncode.i.e.$LOGIN$,username,passwo

java - 构建套接字通信以最小化数据传输

我正在开展一个项目,该项目将在带宽受限网络(蜂窝网络)上使用客户端设备。我不太熟悉套接字通信,但我已经弄清楚如何使用Java作为服务器(来自this教程),而Python是客户端语言。我将从有限数量的命令(少于50个)发送“执行命令”,但有时我也需要发送更长的命令集,为客户提供future的规则/条件。我的想法是为每个命令发送一个字节,其中一个字节表示还有更多命令。这是正确的方法吗,还是我应该继续写入套接字输出(我猜它是utf-8,如果我没记错的话,它是3bytes/char)。感谢您的输入,詹姆斯 最佳答案 在尝试优化网络带宽时,

c# - 网页与 C# 程序通信/触发事件?

我正计划创建一个C#程序(具体来说,是一个IRC机器人)。我需要它能够接收来自网页的请求和/或由网页控制。我计划获得一个VPS,我将在上面托管我的网站和这个机器人。例如,假设我在ajax页面上有一个按钮。如果用户单击该按钮,它是否可以使用php触发c#事件,并可能携带一些参数(例如同一页面上表单中的文本)?我是这个编程领域的新手,可能不会使用一些正确的术语,请随时纠正我。 最佳答案 听起来您想使用TcpClient。System.Net.Sockets.TcpClient 关于c#-网页

sockets - IP 级别的 IP 欺骗

我只是在阅读有关TCP和UDP的内容,以及当数据包被封装在IP协议(protocol)中并添加header时我所阅读的内容,在这个阶段是否不可能创建错误的IP地址?当然,您的连接永远不会收到响应,但这可能吗?顺便说一句,我不想​​这样做。我与不道德的伦理没有任何关系。这只是我在阅读有关TCP和UDP时不得不问的问题。实际上,我正在学习如何在我正在开发的游戏中使用C++中的套接字。 最佳答案 是的,这是可能的。使用原始套接字并制作您自己的数据包使用scapy、hping等搜索“数据包制作”编辑一个很好的scapy教程教你发送大量有效和

sockets - TCP RST 会导致主机丢弃接收缓冲区吗?

在收到一个TCPRST数据包后,主机是否会丢弃接收缓冲区中已被远程主机确认但未被使用套接字的应用进程读取的所有剩余数据?我想知道一旦我对其他主机所说的不再感兴趣(例如,为了节省资源)就关闭套接字是否危险;例如如果那会导致对方丢失任何我已经发送但他尚未阅读的数据。通常应该避免RST并指示完全的双向通信失败,还是如上例所示,RST是一种相对安全的单向强制断开连接的方法? 最佳答案 我找到了一些关于该主题的很好的解释,它们表明在这种情况下很可能会丢失数据:http://blog.olivierlanglois.net/index.php/

objective-c - TCP套接字通信问题

我是iOS编程的新手-我需要一些帮助来解决我的问题...我花了很多时间试图找到解决这个问题的方法-但没有成功......我正在编写一个非常简单的应用程序(在iPad上),它将向我的服务器发送一些TCP命令。服务器已经配置好并且工作正常。我可以在我的iPad上使用pTerm连接到它,在通过RAWTCP或telnet成功连接后,我可以将请求发送到我的服务器,如下所示:#100enter它起作用了..但是当我尝试在我的应用程序上执行此操作时-它不起作用,这似乎是发送到服务器的行尾信息的问题(通常通过按enter键来完成)。服务器配置在192.168.1.220,端口2000。点击重置按钮后,

java - 无论如何,谁关闭了那个 socket ?

我们有一个使用ApacheCXF2.5.x构建的系统,该系统在响应中使用带有MTOM附件的SOAP消息。客户端每隔一段时间就会遇到异常,提示套接字已关闭,CXF在读取带有这些附件之一的HTTP响应时正在读取该套接字。服务器没有显示任何有趣的事情。我们想知道:我们如何判断套接字是否关闭是因为服务器端暴力关闭它,而不是客户端调用close()的一些流氓代码? 最佳答案 您可以从WireShark开始.它将显示网络中的所有流量。从那里您可以看到哪一侧为套接字发送FIN或RST。捕获时使用过滤器,例如如果在客户端运行,则按服务器的IP地址进

sockets - Node.js TCP 客户端的行为与 Netcat/Telnet 不同

我正在向自定义协议(protocol)TCP服务器发出以换行符分隔的文本命令。在下面的示例中,我发出了2个命令并收到了回写的响应。它在telnet和netcat中按预期工作:$nclocalhost1234command1command2theresponse与Node.js连接时,相同的工作流程无法正常工作:varnet=require('net');varclient=net.connect(1234,'localhost');client.on('data',function(data){console.log('data:',data.toString());});client

sockets - 恢复 TCP 连接

我有一个可以处理多个客户端的简单Python服务器:importselectimportsocketimportsyshost=''port=50000backlog=5size=1024server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)server.bind((host,port))server.listen(backlog)input=[server,sys.stdin]running=1whilerunning:inputready,outputready,exceptready=select.select(input,