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

EQ_ALL_THE_WAY

所以我在这里做一些客户端服务器的工作,我希望我的服务器监听客户端,并且当客户端连接到服务器时,客户端发送一个字符串。连接建立后,客户端发送它的字符串,但是在服务器端,recv()返回-1。

/* Server */
int main() {

 int fd, conn_fd; 
 struct sockaddr_in ad; 
 int bytes; 
 char recv_buffer[256];

 fd = socket(AF_INET, SOCK_STREAM, 0); 
 ad.sin_family = AF_INET;
 ad.sin_port = htons(3335); 
 ad.sin_addr.s_addr = htonl(INADDR_ANY);

 bind(fd, (struct sockaddr*)&ad, sizeof(ad)); 
 listen(fd, 5);

 conn_fd = accept(fd, (struct sockaddr*)0, 0); 
 bytes = recv(fd, recv_buffer, sizeof(recv_buffer), 0); 
 printf("%d\n", bytes);

 return 0;

}

客户端只需连接到服务器:/ *客户端* /

int main() {
    int fd, n;
    unsigned int s;
    struct sockaddr_in addr;
    fd = socket(AF_INET, SOCK_STREAM, 0);
    addr.sin_family = AF_INET;
    addr.sin_port = htons(3335);
    addr.sin_addr.s_addr = inet_addr("127.0.0.1");

    char buff[256] = "time";

    printf("Connecting to server....\n");
    if(connect(fd, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
        printf("connect() error.\n");
        exit(1);
    }

    s = send(fd, buff, sizeof(buff), 0);    

    return 0;
}

谢谢!

EQ_ALL_THE_WAY

我发现了问题所在。在我的服务器代码中,我为recv()使用了错误的套接字描述符:我应该使用conn_fd而不是fd。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java套接字将发送但未接收到响应

来自分类Dev

C套接字:recv并同时发送

来自分类Dev

C ++中的套接字接收

来自分类Dev

C套接字编程:recv总是失败

来自分类Dev

套接字C ++:recv函数返回-1

来自分类Dev

在C中发送和接收结构-套接字编程

来自分类Dev

C ++套接字,发送和接收不同步

来自分类Dev

接收特定的消息套接字编程C

来自分类Dev

Android从C ++套接字接收图像

来自分类Dev

C ++,TCP套接字无法接收数据

来自分类Dev

使用C ++进行的Unix套接字编程,recv返回0,但仍在接收数据,但有时接收的内容比发送的要多

来自分类Dev

扭曲的套接字连接未接收到数据

来自分类Dev

UDP套接字(多播)未接收数据(Ubuntu)

来自分类Dev

Linux套接字:如何使send()等待recv()

来自分类Dev

C ++ IP服务器套接字始终从PHP套接字客户端接收“ 0100000001000000”

来自分类Dev

无法从Java套接字服务器接收数据到C套接字客户端

来自分类Dev

套接字发送/接收的单独线程?

来自分类Dev

通过套接字发送和接收图像

来自分类Dev

UDP发送和接收套接字行为

来自分类Dev

Python套接字-同时发送/接收消息

来自分类Dev

使用套接字发送和接收

来自分类Dev

Java套接字不发送/接收消息

来自分类Dev

TCP套接字发送/接收始终等待

来自分类Dev

TCP:套接字发送/接收顺序

来自分类Dev

如何使用套接字C / C ++批量发送文件?

来自分类Dev

在套接字C / C ++上发送浮点值

来自分类Dev

如何使用C处理BSD套接字中的3种方式send()和recv()

来自分类Dev

在C ++中通过套接字发送图片(发送func),但不能接收完成(Windows)!

来自分类Dev

C套接字编程通过同一连接发送多个发送和接收

Related 相关文章

热门标签

归档