草庐IT

socket_desc

全部标签

sockets - 使用 TCP 发送大文件

我的客户端程序需要向服务器程序发送一个大文件。在客户端连接到服务器并且服务器接受它之后,客户端指定它将要发送的文件的名称。现在,客户端需要使用TCP发送文件。我知道如果文件的大小很小(小于1k字节?),我可以使用对套接字编程中的“发送”函数的一次调用直接发送它。但是,如果我的文件很大,比如大约100MB,是否同样有效?我想知道“发送”本身是否处理将大数据分成数据包并可靠地发送它们的任务,还是应该由我来处理?谢谢。 最佳答案 我正在尝试类似的东西&我的客户端代码如下所示staticvoidsend_file(char*ipAddres

C# 异步套接字 : How much data does the Socket store when the call to BeginReceive is delayed?

我正在使用C#的异步套接字并使用BeginReceive将数据从套接字读取到一个8192字节的byte[]-Buffer中。但是,当新数据包在再次调用BeginReceive之前进入时会发生什么?我当前的设置在停止之前处理大约3条传入消息。我假设Socket必须先将传入数据存储在某处,然后才能由BeginReceive处理。我是否可以控制Socket在停止之前缓冲的数据量?我是否必须依靠足够快的速度处理传入的消息才不会“错过”任何消息?当下面示例中的ProcessMessageBuffer方法花费很长时间(出于某种原因)以至于传入数据开始堆积在Socket中时,会发生什么情况?publ

node.js - 如何将服务器上的传入消息路由到 Socket.io 中的 html 页面

基本上,我试图将服务器端口上的传入数据显示到HTML网页。此代码显示传入消息以及加入或离开的人,但在控制台窗口上,我试图在网页上显示这些消息。请帮助。谢谢。服务器端代码-//LoadtheTCPLibrarynet=require('net');//Keeptrackofthechatclientsvarclients=[];//StartaTCPServernet.createServer(function(socket){//Identifythisclientsocket.name=socket.remoteAddress+":"+socket.remotePort//Putth

python - BlueSocket 在连接到 Python Socket 套接字时说连接被拒绝

对于我正在制作的iOS应用程序,它需要连接到python套接字服务器。对于我使用Swift3和BlueSocket的iOS应用程序,当我尝试使用正确的IP和端口连接到服务器时,它总是返回连接被拒绝并且我在服务器上看不到连接。BlueSocket设置为TCP客户端,python服务器也是TCP服务器,所以我很困惑为什么它不起作用。有谁知道/理解为什么它无法连接到服务器?iOSswift代码是这样的:importUIKitimportFoundationimportSystemConfigurationimportSystemConfiguration.CaptiveNetworkimpo

sockets - Netty 服务器如何知道客户端何时断开连接?

我正在制作满足以下条件的Netty服务器:当服务器收到来自其客户端的数据包时,服务器需要执行事务处理A。事务完成后,如果仍然连接,则返回消息给客户端。如果没有,做一些回滚过程B。但我的问题是,当我发送回客户端时,服务器不知道它是否仍然连接。在发送消息之前,我已经尝试按照代码找出它的连接。然而,即使客户端已经关闭了它的套接字,它也总是成功。仅当客户端进程被强制终止时才会失败(例如Ctrl+C)finalChannelFuturecf=inboundChannel.writeAndFlush(resCodec);cf.addListener(newChannelFutureListener

python - 从 Raspberry Pi 捕获 jpeg 图像并将其发送到 PC socket python?

我想将从Rasberrypi相机捕获的图像像流一样实时发送到PC但不是流,因为我没有那么多带宽。我现在的代码是。客户端importioimportcv2importsocketimportstructfromPILimportImageimportnumpy#Startasocketlisteningforconnectionson0.0.0.0:8000(0.0.0.0means#allinterfaces)cv2.namedWindow('NetworkImage')server_socket=socket.socket()server_socket.bind(('0.0.0.0'

C# TCP Socket "Blocking"属性不一致

我通过以下方式使用tcp套接字:m_socket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);m_socket.ReceiveTimeout=15;一般流程是我在无限循环中运行m_socket.Receive,在某个时候套接字会长时间变空,但我不想关闭它。相反,我想每15秒继续尝试读取和超时异常。发生的事情是,在第一次套接字变空时,我在15秒后如预期的那样收到超时套接字异常。然后,因为我仍在循环中,再次调用m_socket.Receive-但是这次无法完成非阻塞套接字操作异常被抛出(这

C# tcp socket客户端从服务器下载文件

目前我遇到了这个问题。客户端仅在第一次成功从服务器下载。第二次它不起作用(没有任何反应,没有崩溃)。这是双方的代码:在客户端,在mainForm中,如果我单击下载按钮,我将调用另一个类loginForm的方法sendComment(stringrequest)。在服务器端,服务器端收到客户端的字符串请求后,会调用sendComment(stringlistFiles)。listFiles包含客户端需要下载的所有文件的名称和大小。字符串listFiles格式:"commitRequestmNameusIDfiName1fiSize1fiName2fiSize2..."。客户端收到该字符串

sockets - 如何将 STunnel 用于 TCP 服务器/客户端,其中客户端在端口 39000 上发送

我有一个TCP服务器/客户端,其中服务器监听端口5000,客户端传出端口为39000。我在服务器上设置了Stunnel:[custom]accept=6000connect=5000...所以它接受端口6000上的连接并将其重定向到5000(我的Server.c正在监听)。我尝试通过以下方式在客户端上设置STunnel:[custom_cl]accept=39000connect=192.168.1.3:6000...因此它接受来自端口39000的任何数据并将其发送到端口6000的服务器(假设它位于192.168.1.3)。我的客户有这段代码:client_addr.sin_famil

c++ - socket Recv api 返回意外值

这是客户端代码。服务器连续发送数据。在这里,我正在查看13(header长度​​)字节的消息,获取在消息本身中编码的数据大小,并创建MESSAGE_HEADER_LENGTH+DATA-LENGTH的缓冲区大小。获得总消息大小后,我使用第二个recv从套接字读取数据。在初始连接设置和服务器与客户端之间的问候消息交换期间,它工作正常但是当服务器发送连续流时说(当我们在客户端服务器上单击按钮发送固定长度的连续消息,间隔为5000毫秒)recv无法正常工作并且recv缓冲区接收原始消息,其前面是垃圾或某个时间空字符串。#defineMESSAGE_HEADER_LENGTH13...whil