套接字无法连接到本地主机

润滑脂

我在Windows 8.1下编写此代码。我想首先将套接字连接到本地主机。然后连接到我创建的虚拟机,该虚拟机已连接到本地网络。这是我的代码。

//Create my socket

SOCKET sock;
SOCKADDR_IN sin;
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_family      = AF_INET;
sin.sin_port        = htons(22);
sock = socket(AF_INET,SOCK_STREAM,0);
bind(sock, (SOCKADDR *)&sin, sizeof(sin));

if(connect(sock ,(SOCKADDR *)&sin, sizeof(sin)) <0) 
{
    printf("socket can't connect to the server 192.168.56.101 \n");
}
else
{
    printf("socket succeeded to connect to the server 192.168.56.101 \n");
}
坎普拉的板条箱

该代码看起来很奇怪,目前尚不清楚该怎么做。如果要建立连接,则需要两个套接字,它们通常处于不同的进程中。服务器进程通常会调用

socket()   // create a socket
bind()     // bind socket to local address and port
listen()   // start listening
accept()   // wait for connection from client and return connected socket
           // communication over the socket
close()

而客户通常会打电话

socket()
connect()    // connect to the server
             // communication over the socket
close()

如果客户端bind()希望指定传出端口,则可以选择调用该客户端,但这通常不是必需的,因为OS会自动分配一个临时端口。

上面的代码先调用bind(),然后connect()再到同一地址。如果bind()成功,则没有任何人在监听该地址,并且connect()显然失败。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

连接到本地主机上的套接字

来自分类Dev

与本地主机的套接字连接超时

来自分类Dev

套接字客户端始终连接到本地主机

来自分类Dev

套接字客户端始终连接到本地主机

来自分类Dev

如何通过Unix套接字将PhpMyAdmin连接到本地主机?

来自分类Dev

Dreamweaver无法连接到本地主机

来自分类Dev

Winsock无法连接到本地主机

来自分类Dev

本地主机无法连接到127.0.0.1

来自分类Dev

本地主机无法连接到127.0.0.1

来自分类Dev

c本地主机拒绝TCP套接字连接

来自分类Dev

无法连接到vsftpd,甚至无法从本地主机连接

来自分类Dev

Debian无法从本地主机连接到本地守护程序

来自分类Dev

无法从本地主机连接到另一个本地主机

来自分类Dev

SQLAlchemy无法连接到本地主机上的Postgresql

来自分类Dev

无法连接到从Android应用本地主机API

来自分类Dev

C#无法连接到本地主机

来自分类Dev

Ubuntu上的Docker无法连接到本地主机

来自分类Dev

运行PHP时无法连接到本地主机

来自分类Dev

Google Chrome无法连接到本地主机

来自分类Dev

Openshift:无法使用本地主机连接到mysql

来自分类Dev

Bitnami LAMP-无法连接到本地主机

来自分类Dev

MySQL Workbench无法连接到本地主机

来自分类Dev

无法连接到在本地主机上运行的Cassandra群集

来自分类Dev

尝试连接到本地主机套接字服务器时,Web浏览器上的“连接已重置”

来自分类Dev

Android连接到本地主机

来自分类Dev

Zookeeper连接到本地主机

来自分类Dev

连接到本地主机Kafka Pod

来自分类Dev

从ios设备连接到本地主机

来自分类Dev

从Genymotion(Virtualbox)连接到本地主机