C TCP / IP服务器绑定错误-非套接字上的套接字操作

安德鲁·里奇(Andrew Ricci)

当我运行以下程序时,我的程序启动了绑定功能,但失败,并显示错误“非套接字上的套接字操作”。我不确定发生了什么。我使用“ gcc a3server.c -g -o服务器”进行编译,没有编译错误。

#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

int main(int argc, char *argv[])
{
    if (argc != 2)
    {
        printf("Error. Please enter the right amount of arguments (2)");
        exit(1);
    }

    int sock, port, clientlen, connection, readfd, writefd;
    char buffer[255];
    struct sockaddr_in server, clientaddr;

    if (sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) < 0)
    {
        printf("Socket was not made.");
        exit(1);
    }

    //bzero((char *) &server, sizeof(server));
    port = atoi(argv[1]);

    server.sin_family = AF_INET;
    server.sin_addr.s_addr = INADDR_ANY;
    server.sin_port = htons(port);

    int bindfd = bind(sock, (struct sockaddr *) &server, sizeof(server));

    if (bindfd < 0)
    {
        perror("Could not bind socket to address: ");
        exit(1);
    }

    listen(sock, 5);

    clientlen = sizeof(clientaddr);

    if (connection = accept(sock, (struct sockaddr *) &clientaddr, &clientlen) < 0)
    {
        printf("Could not accept connection");
        exit(1);
    }       

    if (readfd = read(connection, buffer, 255) < 0)
    {
        printf("Could not read from socket");
        exit(1);
    }

    printf("!---THIS IS A TEST---! \n BUFFER: %s", buffer);

    if (writefd = write(connection, buffer, 255) < 0)
    {
        printf("Could not write to socket");
        exit(1);
    }

    return 0;
}   
安托·尤尔科维奇(AntoJurković)

线

if (sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) < 0)

应该

if ( (sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))  < 0)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C TCP/IP 套接字:如何将客户端套接字的输入同步到服务器套接字以交替进行

来自分类Dev

用于 C# 中套接字标识符的 TCP 套接字服务器自定义类

来自分类Dev

C中非套接字错误的套接字操作

来自分类Dev

套接字TCP服务器

来自分类Dev

TCP套接字服务器

来自分类Dev

TCP / IP套接字服务器并发

来自分类Dev

TCP / IP套接字服务器并发

来自分类Dev

C中TCP / IP套接字中的代码段说明

来自分类Dev

linux中的分段错误(C中的套接字编程(TCP))

来自分类Dev

linux中的分段错误(C中的套接字编程(TCP))

来自分类Dev

使用 epoll 的 tcp 服务器给出非套接字错误

来自分类Dev

C ++:接收SIGKILL时如何关闭TCP套接字(服务器)

来自分类Dev

TCP套接字连接Java Client <-> C ++服务器中的意外行为

来自分类Dev

在C ++中使用TCP套接字进行远程客户端和服务器通信

来自分类Dev

服务器可以在c中打开两个TCP套接字吗?

来自分类Dev

C#TCP套接字服务器客户端连接

来自分类Dev

TCP服务器在C中,套接字仍然为负

来自分类Dev

客户端断开连接后,C 套接字 TCP 服务器出现故障

来自分类Dev

TCP / IP套接字广播

来自分类Dev

Android TCP套接字错误

来自分类Dev

TCP套接字,发送文件,客户端服务器,服务器不保存整个文件,C语言

来自分类Dev

在套接字上设置TCP ECN(C Linux)

来自分类Dev

C ++-套接字服务器线程

来自分类Dev

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

来自分类Dev

HTTP 服务器如何使用 tcp 原始套接字检测和处理非 http 消息

来自分类Dev

从C到Python写入TCP套接字

来自分类Dev

从C到Python写入TCP套接字

来自分类Dev

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

来自分类Dev

尝试运行Unicorn时出现“监听循环错误:非套接字上的套接字操作”

Related 相关文章

  1. 1

    C TCP/IP 套接字:如何将客户端套接字的输入同步到服务器套接字以交替进行

  2. 2

    用于 C# 中套接字标识符的 TCP 套接字服务器自定义类

  3. 3

    C中非套接字错误的套接字操作

  4. 4

    套接字TCP服务器

  5. 5

    TCP套接字服务器

  6. 6

    TCP / IP套接字服务器并发

  7. 7

    TCP / IP套接字服务器并发

  8. 8

    C中TCP / IP套接字中的代码段说明

  9. 9

    linux中的分段错误(C中的套接字编程(TCP))

  10. 10

    linux中的分段错误(C中的套接字编程(TCP))

  11. 11

    使用 epoll 的 tcp 服务器给出非套接字错误

  12. 12

    C ++:接收SIGKILL时如何关闭TCP套接字(服务器)

  13. 13

    TCP套接字连接Java Client <-> C ++服务器中的意外行为

  14. 14

    在C ++中使用TCP套接字进行远程客户端和服务器通信

  15. 15

    服务器可以在c中打开两个TCP套接字吗?

  16. 16

    C#TCP套接字服务器客户端连接

  17. 17

    TCP服务器在C中,套接字仍然为负

  18. 18

    客户端断开连接后,C 套接字 TCP 服务器出现故障

  19. 19

    TCP / IP套接字广播

  20. 20

    Android TCP套接字错误

  21. 21

    TCP套接字,发送文件,客户端服务器,服务器不保存整个文件,C语言

  22. 22

    在套接字上设置TCP ECN(C Linux)

  23. 23

    C ++-套接字服务器线程

  24. 24

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

  25. 25

    HTTP 服务器如何使用 tcp 原始套接字检测和处理非 http 消息

  26. 26

    从C到Python写入TCP套接字

  27. 27

    从C到Python写入TCP套接字

  28. 28

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

  29. 29

    尝试运行Unicorn时出现“监听循环错误:非套接字上的套接字操作”

热门标签

归档