首页 文章
  • 0 votes
     answers
     views

    无法在localhost 8091上的Windows计算机上连接到Couchbase Server

    需要帮助来解决并连接到couchbase服务器 . 我已经安装了couchbase服务器社区版 . 安装后我试图访问端口8091上的服务器 . 但没有运气,浏览器抱怨连接被拒绝 . 技术细节 couchbase-server-community_4.5.1-windows_amd64 Fiddler Tracking 请求 GET http://localhost:8091/ HTTP / 1.1...
  • 2 votes
     answers
     views

    TCP:recv()获取ECONNRESET

    我正在尝试使用TCP和标准的socket.h库在linux上实现一个简单的客户端/服务器程序 . 服务器处理多个客户端,每个客户端可以随时关闭()或关闭()套接字 . 在服务器端(使用非阻塞读取): int nBytes; if ((nBytes = recv(socket, buffer, BUFFER_SIZE, MSG_DONTWAIT)) == -1) { if (errno !=...
  • 2 votes
     answers
     views

    获取可在套接字中读取的字节数

    这是我的情景 . 我有一个与服务器通信的TCP客户端 . 服务器和客户端都在本地计算机(Windows)上运行 . 对话框如下: 客户端将数据发送到服务器(请求) 客户端关闭套接字上的send 客户端通过读取调用进行响应 服务器接收数据,处理并发回响应(一次性,不分成块) 服务器关闭套接字上的发送 客户端收到响应,并继续处理 . 在步骤3,我使用recv()调用来阻塞和...
  • 0 votes
     answers
     views

    套接字缓冲区 - recv()

    试图了解阻塞套接字recv() . 阻止在客户端应用程序中实现的套接字并连接到服务器 . 服务器应用程序中实现的IOCP非阻塞套接字 . 客户端应用程序发送一些请求,服务器响应肯定或否定回复 . 有时服务器中的处理时间在同一毫秒内 . 一旦收到请求服务器应用程序立即响应 . 处理大约400个请求/响应时,服务器应用程序以相同的毫秒响应,但客户端应用程序在5秒后收到 . 时间延迟 . 我们尝试使用w...
  • 0 votes
     answers
     views

    设置了MSG_DONTWAIT标志的recv()不接收来自TCP套接字的数据

    我正在FreeBSD c中编写基本服务器和客户端聊天应用程序 . 基本上多个客户端连接到多个端口上的服务器(例如端口4,5,6,7),这些端口存储在一个阵列中,该阵列通过查找相应客户端发送的数据不断迭代 . 我使用recv(端口号,缓冲区,sizeof(缓冲区),MSG_DONTWAIT),以支持非阻塞端口 . 当我使用带阻塞的read()方法时,此方法有效,但当我使用带有非阻塞的recv方法时,...
  • 1 votes
     answers
     views

    由于其范围,使用unsigned char而不是char

    我一直在研究一个小的纯C客户端应用程序(我的第一个:/),它使用TCP套接字与服务器进行通信 . 服务器向我发送一个数据包(C结构),其中第一个字节包含数据包的大小 . 问题是服务器使用unsigned char来表示数据包的大小,因为char已签名(从-128到127)而127不足以表示某些数据包中最多可达255的大小 . =>我需要一个unsigned char缓冲区; 在Linux中...
  • 0 votes
     answers
     views

    如何进行阻止recv调用

    这可能是一个奇怪的请求,但实际上,我想调用recv()阻塞 . 它似乎默认情况下应该是阻止,但对我来说,它不是,我找不到任何方法来实现它 . 我有一个非常简单的服务器应用程序,“打开套接字 - 绑定 - 等待连接 - 接收”一方面, 而另一方面,一个简单的“开放套接字 - 连接 - 发送”客户端应用程序 . 他们在LocalHost上进行通信 . 服务器: int clTcpServer::ope...
  • 0 votes
     answers
     views

    为什么来自套接字的recv()不会阻塞

    我创建一个TCP服务器套接字,侦听connect()请求和accept()它们 . 接受客户端套接字后,从中接收数据 . 我希望recv()函数以超时阻塞,但它似乎是非阻塞的 . 我从服务器接收响应时已经使客户端处于阻塞模式,但它似乎与服务器端的工作方式不同 . 下面我在阻塞模式下复制粘贴我想要接收数据的服务器端: int clientSocket = accept(_serverSocket, ...
  • 1 votes
     answers
     views

    recv()阻止第二次调用

    我有一个简单的客户端 - 服务器应用程序,用于从客户端发送文件到服客户端以预定义大小的块(例如512)发送文件 . 服务器也以相同大小的块接收文件 . 在服务器收到整个文件后发送确认之前,客户端上的套接字不会关闭 . 会发生什么: 客户端设法发送(send()调用)整个文件,意味着它的所有块 . 服务器设法获取(recv()调用)只有第一个块,意味着recv()调用在第一次调用时返回512...
  • 2 votes
     answers
     views

    在socket接收大数据后,recv()返回0

    我的服务器需要向客户端发送两个大小为500kb的图像 . 客户端在没有丢失任何数据的情况下接收第一个图像,但是当服务器将另一个图像发送到客户端时,recv()在从服务器发送数据之前返回0,并且在此之后服务器send()返回-1 . 这是我的send()和recv()代码: Server: fp2 = fopen(totaldir2,"rb"); if(fp1==NULL) {...
  • 3 votes
     answers
     views

    c posix套接字recv功能

    我有一个或许是一个非常有问题的问题,我环顾四周但是还没有看到直接的答案,我想我可以在这里得到一个快速的答案 . 在使用bsd套接字的简单TCP / IP客户端 - 服务器选择循环中,如果客户端发送两条同时到达服务器的消息,那么在服务器上调用recv会返回在缓冲区中捆绑在一起的两条消息,或者是不同的到达消息要单独阅读? 我问,因为我在一个环境中工作,我无法告诉客户端如何构建要发送的消息 . 通常re...
  • 1 votes
     answers
     views

    客户端/服务器之间的C / Winsock TCP发送/接收问题

    当我连续发送时,我遇到了与通过套接字的客户端/服务器通信相关的问题,之后是客户端上的recv . 例: 案例A: Client Server send(...);----------->While(recv(...)>0){ send(...);-----------> print(message); send(...);-----------&gt...
  • 1 votes
     answers
     views

    recv()何时返回?

    我使用套接字创建了一个服务器和一个客户端 . 我的服务器是用c语言编写的,运行在我的覆盆子pi上,我的客户端用Swift编写,运行在我的Mac / iPhone上 . 我没有得到的是当我的服务器recv()函数执行我从客户端发送的内容时?如果我发送0-10个字节,它在关闭连接之前不会从recv()函数返回 . 但如果我发送100个字节,它会立即执行 . 每当我从客户端写一条消息时,我希望我的服务器...
  • 0 votes
     answers
     views

    Berkeley Socket:recv系统调用

    //server side void* s2(void *arg){ info *s = (info*)arg; char buffer[MAXS]; int k; sockaddr_in addr; socklen_t aSize = sizeof(sockaddr_in); int sfd = accept(s->fd,(sockaddr*...
  • 115 votes
     answers
     views

    在套接字库中调用recv时,我的recv缓冲区应该有多大

    我对C中的套接字库有几个问题 . 这是我在问题中引用的一段代码 . char recv_buffer[3000]; recv(socket, recv_buffer, 3000, 0); 如何判断recv_buffer的大小?我是'm using 3000, but it'是任意的 . 如果 recv() 收到的数据包大于我的缓冲区会怎么样? 如果没有再次调用recv,我怎么知道我是...
  • 0 votes
     answers
     views

    C recv函数行为

    这是我的两段代码: server.c #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <sys...
  • 0 votes
     answers
     views

    使用recv()后保存接收缓冲区的头部

    我试图将部分收到的缓冲区保存在char *变量中,但它无法正常工作 我在用: recv(sock,buff,BUFLEN,0); char *head=NULL; head= (char *) malloc (16); strncpy (head,buff,16); 我如何将它的一部分(比如4个第一个字节)保存到char * head中?
  • 0 votes
     answers
     views

    TCP recv和接收缓冲

    我的网络应用程序项目有问题 . 这是我主要结构的一部分: struct elemento { char username[256]; short int UDPport; unsigned long IPaddress; int socket; char buffer[256]; int...
  • -1 votes
     answers
     views

    C套接字 - send()发送,recv()没有接收

    所以我在这里做一些客户端服务器的东西,我希望我的服务器监听客户端,当客户端连接到服务器时,客户端发送一个字符串 . 连接 Build ,客户端发送它的字符串,但是,在服务器端,recv()返回-1 . /* Server */ int main() { int fd, conn_fd; struct sockaddr_in ad; int bytes; char recv_buff...
  • -1 votes
     answers
     views

    socket recv函数不返回更新的值

    尝试使用c(Linux)创建套接字应用程序以不断从服务器获取数据为此,我创建了一个循环,在其中,例程连接,发送命令,接收一些数据并关闭套接字 . 它适用于第一次交互但看起来像recv函数无法从第二次迭代和其他迭代更新缓冲区变量 . 试图使用 memset 函数清除但清除变量,它在第一次迭代后总是空白 有任何想法吗 ? 这是我使用的代码示例 #include<stdio.h> #incl...
  • 3 votes
     answers
     views

    在C中立即(逐个数据包)从套接字接收TCP有效负载

    如何在逐个数据包的基础上从C中的开放网络套接字接收数据(字节流)?我想在它到达时立即从套接字读取数据(一旦数据包到达机器) . 当我在套接字上执行read()(或recv())调用时,我得到的是10,000字节的整个TCP消息 . 相反,我希望收到第一个TCP段有效载荷,处理它,然后继续到下一个,等等 . 注意 - 我不想要原始数据包 . 只是TCP段数据有效载荷 . 还要注意 - 实质上我希望通...
  • 0 votes
     answers
     views

    套接字recv(阻塞)因errno EAGAIN而失败 - 资源暂时不可用

    我正在实现一个UNIX域套接字Inter Process通信代码,我试图从套接字读取时随机点击这个错误 - “错误11:资源暂时不可用” . 我使用MSG_PEEK读取套接字中的字节数,并为接收缓冲区分配字节,并读取实际数据 . 套接字是一个阻塞套接字,我没有任何代码可以进行非阻塞(总之,接受/读/写) . 什么可能导致阻塞套接字读取的指针?从MSG_PEEK的man page开始,当使用O_NO...
  • 0 votes
     answers
     views

    当recv buf已经有数据时,tcp socket recv将返回“资源暂时不可用”

    我使用epoll实现TCP套接字通信来监视所有客户端事件,只有一个线程处理for循环中的所有客户端 . 每个套接字都是非阻塞的 . 现在我刚遇到问题,当客户端发送的数据超过MTU时,意味着几个分片包,服务器总是无法完全读取所有数据 . 如下所示,我首先阅读头部,从头部获取pdu len,然后阅读pdu部分 . 问题是虽然我成功地阅读了头部,紧跟着pdu recv(),但它总是多次返回EAGAIN ...
  • -2 votes
     answers
     views

    用于TCP套接字编程的Recv函数

    我是Socket Programming的新手 . 我正在尝试创建一个客户端应用程序 . 服务器是使用TCP进行通信的摄像机 . 相机正在发送连续数据 . 使用Wireshark,我可以看到摄像机正在发送不同大小的连续数据包,但不超过1514字节 . 但是我的 recv 函数总是返回 2000 ,这是我缓冲区的大小 . unsigned char buf[2000]; int bytesIn = ...
  • 0 votes
     answers
     views

    C语言中TCP套接字的recv函数

    我是套接字编程的新手 . 我有一个用c编写的客户端应用程序连接到相机 . 然后Camera在0到1460之间以块的形式发送帧包 . 我已经使用recv函数来接收数据包 . 我看到很多问题,其中明确提到recv函数返回接收的字节,但在我的情况下,recv函数返回在recv函数的第3个参数中写入的值,即len . 无论如何,我们可以通过它找到收到的实际字节数 . 我甚至尝试使用char *但这甚至都不...
  • 9 votes
     answers
     views

    关于recv和读缓冲区 - C Berkeley套接字

    我正在使用berkeley套接字和TCP(SOCK_STREAM套接字) . 过程是: 我连接到远程地址 . 我发了一条消息给它 . 我收到了一条消息 . 想象一下,我使用以下缓冲区: char recv_buffer[3000]; recv(socket, recv_buffer, 3000, 0); 问题是: 如何在第一次调用recv后读取缓冲区是否为空?如果它是空的我会...
  • 0 votes
     answers
     views

    C套接字recv()系统调用返回-1

    我目前在服务器和客户端之间传递消息时遇到问题 . 据我所知,我正在按照Beej's Socket Programming Tutorial概述的套接字编程的最佳实践 . 当我运行这两个进程时,recv()系统调用返回-1(错误),而不是接收的字节数 . 此外,当尝试输出buf时,有一堆gobbledygook字符 . 这是有道理的,因为错误 . 我想知道是否有人可以引导我朝着正确的方向指导我为什么...
  • 1 votes
     answers
     views

    在socket编程中的recv中“资源暂时不可用”

    我想通过套接字编程读取和写入Wanpipe驱动程序(Sangoma卡的网络设备驱动程序),但是我收到此消息错误:“资源暂时不可用” . 该卡正在工作,我看到它在ifconfig中发送和接收数据包 . 我已经包含了我的代码,如果有人帮助我,我会非常高兴 . 一个相关的问题:我将套接字设置为阻塞模式,但recv消息没有阻塞?我怎么能阻止recv? int main(void) { int sd;...
  • -2 votes
     answers
     views

    通过动态分配空间在套接字上recv()

    我'm trying to get the source code of my website using c, I'能够连接和一切,但是当我实现recv()代码时,它只接收源代码的最后几个字节 . 我想为缓冲区动态分配空间,以便使用C函数 malloc 和 realloc 接收更多空间 . 这是我到目前为止的代码: char *buffer = NULL; unsigned int i = 0;...
  • 0 votes
     answers
     views

    如何在Python中的recv之前找出套接字中的字节数?

    我有一个TCP处理数据流 . 它一次需要4096个字节,但我需要一种方法来在它恢复之前找出整个套接字大小 . 这样我就可以确定在切换套接字之前读取套接字的次数 . 它还会通知这是这个套接字的最后一个recv,这样我就可以在选择切换到另一个套接字之前使用它 . def handle_tcp(self, sock, remote): fdset = [sock, remote] ...

热门问题