Python客户端- c++服务器连接被拒绝错误
Python Client - C++ Server Connection Refused Error
所以我试图运行一个客户端-服务器应用程序使用Python作为客户端和c++作为服务器。
两者在不同的机器上-现在我在macbook pro上运行python客户端,服务器是我的linux桌面。
我可以ssh到我的linux机器,如下所示:
ssh username@address.hopto.org
然后输入密码
尽管能够ssh没有问题,我不能得到一个端口/套接字连接工作。
下面是我的python代码:import socket, time
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('username@address.hopto.org', 9999))
print client.send('Hello world!'), 'bytes sent.'
time.sleep(0.2)
print 'Received message:', client.recv(1024)
这是我的c++服务器(从这个网站借来的:http://www.cs.utah.edu/~swalton/listings/sockets/programs/part2/chap6/simple-server.c)
#define MY_PORT 9999
#define MAXBUF 1024
int main(int Count, char *Strings[])
{ int sockfd;
struct sockaddr_in self;
char buffer[MAXBUF];
/*---Create streaming socket---*/
if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
{
perror("Socket");
exit(errno);
}
/*---Initialize address/port structure---*/
bzero(&self, sizeof(self));
self.sin_family = AF_INET;
self.sin_port = htons(MY_PORT);
self.sin_addr.s_addr = INADDR_ANY;
/*---Assign a port number to the socket---*/
if ( bind(sockfd, (struct sockaddr*)&self, sizeof(self)) != 0 )
{
perror("socket--bind");
exit(errno);
}
/*---Make it a "listening socket"---*/
if ( listen(sockfd, 20) != 0 )
{
perror("socket--listen");
exit(errno);
}
/*---Forever... ---*/
while (1)
{
int clientfd;
struct sockaddr_in client_addr;
int addrlen=sizeof(client_addr);
/*---accept a connection (creating a data pipe)---*/
clientfd = accept(sockfd, (struct sockaddr*)&client_addr, &addrlen);
printf("%s:%d connectedn", inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port));
/*---Echo back anything sent---*/
send(clientfd, buffer, recv(clientfd, buffer, MAXBUF, 0), 0);
/*---Close data connection---*/
close(clientfd);
}
/*---Clean up (should never get here!)---*/
close(sockfd);
return 0;
}
对于python/客户端,我实际上尝试了两种不同的东西:
如果我写以下内容:
client.connect(('username@address.hopto.org', 9999))
我得到这个错误:插座。[Errno 8] nodename or servname提供,或不知道
但是如果我这样做:
client.connect(('address.hopto.org', 9999))
不包含username部分…我得到这个错误:
socket.error: [Errno 61] Connection refused
我认为这是因为我有一个密码在我的Linux盒子是"阻止"连接,但我不知道如何包括它在这里。
我是网络代码的初学者,所以很多对我来说都很陌生。
连接拒绝通常表示主机可达,但端口未打开。
可能是您的请求被防火墙阻止或您的服务器没有正常运行。
避免防火墙问题。我建议你可以在与服务器相同的机器上运行你的python脚本,并使用127.0.0.1首先连接它。
相关文章:
- Windows C++:文件夹移动访问被拒绝错误
- clang --版本权限被拒绝错误
- 如何修复 CopyFile() 错误 5 - 访问被拒绝错误
- QSSLSLSOCKETS无法解决和权限拒绝错误
- CreateFile 在尝试打开目录进行读取时始终返回错误 5(访问被拒绝)
- 运行简单 c++ 程序时出现权限被拒绝错误
- Apache HTTPD模块共享内存权限拒绝了错误
- 如何在两个设备之间与TCP通信时修复错误"连接被拒绝"
- 拒绝挥发性RVALUE到STD :: implotial rvalue的分配是错误的
- 访问被拒绝错误
- 获取错误 - 启用权限后,OpenProcess() 中的访问被拒绝
- 64位Windows API结构对齐导致命名管道上出现“拒绝访问”错误
- RegLoadKey给出错误代码5(拒绝访问)
- 使用终止进程终止"mstsc.exe"进程时出现错误代码(5)访问被拒绝
- 访问被拒绝错误 - 创建文件
- MySQL / C ++连接器错误:使用旧的(4.1.1之前)身份验证协议的连接被拒绝
- 油.dll调用 - 访问被拒绝错误80020009出错
- 经典 ASP 和 ITaskScheduler 访问被拒绝错误
- 具有"与无人共享"属性的文件夹的 SQL 访问被拒绝错误
- Python客户端- c++服务器连接被拒绝错误