C 客户端只能连接到 localhost。

标签 c sockets client telnet

我的 C 客户端可以连接到本地服务器,但是当我尝试从远程计算机连接时,它无法连接,并显示“错误连接失败”。

我能够从远程计算机远程登录到服务器。

     char* user_IP;
            printf("Please enter an IP Address\n");
731
732            scanf(" %s", user_IP);
733            /*while (isdigit(IP) && IP>0)        // has some isues           
734            {                                                                
735                printf("Please enter an IP Address\n");                      
736                                                                             
737                scanf(" %s", &IP);                                           
738                }*/
739            play_num=2;
740            IP=atoi(user_IP);
741
742
743            if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
744            {
745                printf("\n Error : Could not create socket \n");
746                return 1;
747            }
748
749            memset(&serv_addr,0,sizeof(serv_addr));
750            serv_addr.sin_family = AF_INET;
751            serv_addr.sin_port = htons(5001);
752
753            if( connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_a\
   ddr)) < 0)
754            {
755                printf("\n Error : Connect Failed \n");
756                return 1;
757            }

最佳答案

存在一些问题。

  1. 您未在连接中的任何位置使用 IP 地址。

  2. 使用 scanf() 时不会存储任何内容。使用类似的东西:

    Char user_IP[16];
    
    Scanf("%s", user_IP);
    

关于C 客户端只能连接到 localhost。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22514302/

相关文章:

你能从 C 可执行文件中提取关于它是从哪些源文件编译的信息吗?

c - 作者插入不需要的换行符

c# - C#到PHP转换器

Java与PHP的socket通信问题

ssl - 如何在 SSL 连接的服务器端接收数据?

run 方法中的 java.io.OptionalDataException?

android - JSONArray.toString() 在 Java 中不起作用

c - 如何找到二维数组行中字母的最大值

python - __init__ OSError : [Errno 24] Too many open files中的 “/usr/lib/python3.5/socket.py”文件,第134行

c - 发现段错误,但正在优化之前的消息