套接字错误:连接被拒绝 – 我做错了什么?

套接字错误:连接被拒绝 – 我做错了什么?,第1张

概述我刚刚开始学习套接字( Linux)的基础知识.我以一个小例子尝试过我的手,但它不起作用,我不知道有什么问题. 我收到“连接拒绝”错误消息. 这是我的代码: #include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <netinet/ip.h>#include <stdio.h>#includ 我刚刚开始学习套接字( Linux)的基础知识.我以一个小例子尝试过我的手,但它不起作用,我不知道有什么问题.

我收到“连接拒绝”错误消息.

这是我的代码:

#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <netinet/ip.h>#include <stdio.h>#include <string.h>#include <errno.h>int main() {    int c;    c = socket(AF_INET,SOCK_STREAM,0);    if (c < 0) {        printf("Error in creating socket! %s\n",strerror(errno));        return 1;    }    struct sockaddr_in server;    memset(&server,sizeof(server));    server.sin_port = htons(1234);    server.sin_family = AF_INET;    server.sin_addr.s_addr = inet_addr("127.0.0.1"); //local host    if (connect(c,(struct sockaddr *)&server,sizeof(server)) < 0) {        // Here is my error        printf("Error when connecting! %s\n",strerror(errno));         return 1;    }    while(1) {        char msg[100];        printf("Give message: ");        @R_404_6345@s(msg,sizeof(msg),stdin);         send(c,&msg,0);        char resp[100];        recv(c,&resp,sizeof(resp),0);        printf("Received: %s\n",resp);    }close(c);}

编辑

当然 !该错误实际上在服务器中.我只是发现客户端发送消息,所以我缩小了我的观点,甚至没有回头看服务器.

由于错误似乎也在我的服务器上,我可能最终会问另一个问题并将其链接到这里

服务器正在听(12345)…

解决方法 根据 man page:

ECONNREFUSED
No-one Listening on the remote address.

为了提供一个简单的远程端点,可以接受您的连接并发回所接收的数据(回显服务器),您可以尝试这样的事情:python server(或使用netcat):

import sockets = socket.socket(socket.AF_INET,socket.soCK_STREAM)s.bind(("localhost",1234))s.Listen(1)conn,addr = s.accept()print 'Connected by',addrwhile 1:    data = conn.recv(1024)    if not data: break    conn.sendall(data)conn.close()
总结

以上是内存溢出为你收集整理的套接字错误:连接被拒绝 – 我做错了什么?全部内容,希望文章能够帮你解决套接字错误:连接被拒绝 – 我做错了什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1235155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存