草庐IT

Flask-Sockets

全部标签

sockets - 套接字编程客户端连接

我正在使用客户端-服务器编程,我指的是这个link并且我的服务器已成功运行。我需要不断地向服务器发送数据。我不想每次在发送每个数据包之前都调用connect()。所以第一次我只是创建了一个套接字并发送了第一个数据包,其余的数据我只是使用write()函数将数据写入套接字。但我的问题是,如果服务器不存在或我的以太网被禁用,我的问题是在连续发送数据时它仍然成功地将数据写入套接字。有什么方法可以让我一次创建套接字并在知道服务器故障的情况下连续发送数据?这样做的主要原因是,在服务器端,我使用的是GPRS调制解调器,每次为每个数据包调用connect()函数时,调制解调器都会挂起。我使用下面的代

sockets - 使用单个 SSH 连接在远程计算机上使用多个终端

我在远程服务器上的某个端口上通过SSH运行一个进程。该过程基本上是一个等待(监听)连接的TCP服务器。所以只要它在运行,我就不能使用终端,因为它是一个阻塞应用程序。我想通过相同的SSH连接实例运行另一个应用程序(TCP客户端)以连接到该TCP服务器。我使用屏幕分离第一个进程(TCP服务器)并连接到服务器,但我看不到TCP服务器应用程序的输出。有没有办法使用SSH在远程机器上模拟两个终端? 最佳答案 所以我找到了解决这个问题的办法。下面基本上是一个链接,解释了我如何才能准确地实现我所需要的。即,使用单个SSH连接打开多个终端。http

sockets - 在 TCP 三向握手之前获取 INADDR_ANY 客户端套接字的源 IP 和端口?

我在Windows7上,在connect与SO_REUSEADDR之前使用bind,并将本地地址结构设置为IP地址INADDR_ANY和端口0(零),以便让操作系统选择客户端套接字的源详细信息。首先,我读到在连接到服务器之前无法获取源IP,因为此时正在选择它并且多个地址可能有效。但是在连接之前选择了端口,那么有什么办法可以得到呢?(getsockname()看起来不起作用)。其次,关于源IP,有没有办法在数据包发送到服务器之前得到它?我需要操作系统选择源IP和它开始三向握手之间的具体时间。connect()函数控制着两者。 最佳答案

sockets - Akka 远程连接

我有2个应用程序,分别是app1和app2。在机器1上,app1和app2都在运行,但在机器2上只有app2运行,因为大部分工作都由app2完成。这些应用程序使用Akka。使用akkaremoting,我希望能够将消息从机器1上的app1传递到机器2上的app2。当app1和2在同一台机器上时,它们能够相互交互。但是,当机器1上的应用程序1尝试连接机器2上的应用程序2时,出现以下错误...EndpointWriter-AssociationError[akka.tcp://deal-rest@127.0.0.1:4242]->[akka.tcp://deal@:4241]:错误[无效地

.net - 使用 .NET Sockets C++/CLI 传输/接收位图

我正在为我的Schoolproject编写一个基于Internet/多人游戏的绘图游戏。所以现在我需要编写一个PictureBox,它始终与服务器一致。首先,我使用的是.netTCP客户端和监听器,它们已经可以正常工作(我正在发送和接收一些字符串)。我有2个代表服务器和客户端的静态类。我的基本想法是在Byte[]中将来自PictureBox的bmp转换为通过NetworkStream使用BinaryReader传输它。在另一端,接收到的Byte[]将被转换回bmp并进入PictureBox。这是我的两个函数:voidServer::sendBMP(Bitmap^bmp){array^b

sockets - Ettercap TCP数据包类型

抱歉,如果我的问题看起来很愚蠢,但我想了解在嗅探TCP数据包时Ettercap的数据包事务详细信息旁边写的字母的含义,例如:ThuApr1604:07:302015TCP192.168.1.100:1000-->192.168.1.101:1000|AMessagehere.行尾的“A”字母(|A)是什么意思?我在各种消息中看到了不同的字母,但我不明白它们的意思A,S,AP,SA,FA,RA等等。我在互联网上搜索过,但我找不到任何关于这个的文档(以及关于Ettercap的一般文档)。你能解释一下它们的含义,或者提供一个解释它们的链接吗?谢谢! 最佳答案

sockets - 使用 Socket Test 3.0 软件的 TCP/IP

我在两台不同的PC上安装了“Sockettestv-3.0”软件。使用它可以在第一台PC上创建一个TCP服务器,在第二台PC上创建一个TCP客户端。当我在LAN上连接两台PC时,我可以建立连接并可以在服务器和客户端之间进行通信。但是,当我将两台PC连接到单独的Internet连接时(使用具有不同ISP的加密狗),我无法在服务器和客户端之间建立连接。我该怎么做?请帮帮我.. 最佳答案 私有(private)地址192.168.x.x是只能在您的私有(private)网络中用于直接连接的地址。如果你想从公共(public)互联网连接到你

sockets - TCP/UDP 中的多路分解

我知道这个问题有一个较早的答案here,虽然它似乎没有回答我的问题。如果在UDP中,两个具有不同IP和不同端口的人将数据发送到同一个套接字上的同一台服务器(相同的IP)(因为在UDP中每个应用程序只有一个套接字-如果我错了请纠正我),服务器如何识别哪个人是谁?如果两个人使用(运气与否)与源端口相同的端口但源IP不同,它会改变什么吗? 最佳答案 服务器可以从同一个端口上的两个不同的IP/端口对(IP可以相同,端口可以相同,或者两者可以不同)接收UDP数据报。recvfrom()函数除了返回数据外,还返回数据报的源IP/端口。正如您提到

sockets - tcp 服务器和客户端交互

我有一个接受连接的tcp服务器(echo服务器)。我有一个客户端,当给定一个参数N时,它会创建许多试图与tcp监听器连接的进程。我能够连接到这些套接字,但我可以看到许多套接字被关闭,这很明显,因为我使用的是回显服务器,我没有收到我发送的回消息。服务器端代码(关键部分)init(State=#state{port=Port})->ets:new(csockets,[ordered_set,named_table,public]),ets:insert(csockets,{sockets,[]}),casegen_tcp:listen(Port,?TCP_OPTIONS)of{ok,LSo

sockets - 发送未检测到套接字未决错误

我的TCP客户端使用tcp_keepalive_interval=10s、tcp_keepalive_time=1s和tcp_keepalive_probes=10实现保活功能。但是send函数在连接中断超过20秒后没有发现任何错误。理想情况下启用keepalive,20秒后(keepalive_interval+keepalive_probes*keepalive_time)E_TIMEDOUT应该添加到套接字挂起错误。Asthisanswersays,"Bothread(2)andwrite(2)firstretrieveanypendingerroronthesocketbefo