当前位置: 首页 > 知识库问答 >
问题:

连接一个VMCI流套接字

董良策
2023-03-14

我试图使用VMCI套接字在虚拟机和它的主机之间建立一个面向流的连接。我成功地启动了服务器,绑定了一个地址,将其置于监听模式,并调用接受来等待客户端。然而,每当我从客户端调用Connect(...)时,我都会收到一个WSAECONNRESET错误。

我的客户代码是:

int sockfd;    
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD(2, 2);

// initialize sockets for win32
if (WSAStartup(wVersionRequested, &wsaData) != 0) {
    perror("Could not register with Winsock DLL.\n");
    exit(-1);
}

// get VMCI socket file descriptor
int afVMCI = VMCISock_GetAFValue();
if ((sockfd = socket(afVMCI, SOCK_STREAM, 0)) == -1) {
    perror("socket");
    exit(-1);
}

// initialize server address
struct sockaddr_vm their_addr = {0};
their_addr.svm_family = afVMCI;
their_addr.svm_cid = 2;
their_addr.svm_port = 1234;

// connect to server
if ((connect(sockfd, (struct sockaddr *) &their_addr, sizeof(their_addr))) == -1) {
    int e = WSAGetLastError();
    printf("Error: %d\n", e);
    exit(-1);
}

printf("Connected!\n");

每当我使用数据报套接字时,问题并不存在。(当然,不需要调用listen、accept和connect。在这种情况下,我只需使用sendto(…) 这很好。)


共有1个答案

陆卓
2023-03-14

从威睿留档,我刚刚发现:

在Workstation 7.0中,Linux主机、Linux来宾和Windows来宾支持流套接字,但Windows主机仅支持数据报套接字。

由于我的主机电脑运行Windows,因此不支持此操作。

 类似资料:
  • 问题内容: 如何创建SSL套接字连接? 我真的需要创建密钥库吗?该密钥库应该与我所有的客户端应用程序共享吗? 我用以下代码创建了一个服务器: 我用以下代码在android上创建了一个客户端: 但是当我尝试连接时,会引发以下错误: 问题答案: 您需要一个证书来建立ssl连接,您可以在密钥库中加载证书,也可以加载证书本身。我将显示一些有关keystore选项的示例。 您的代码需要一些参数才能运行: 您

  • 由于失去了与Azure EventHub的连接,我需要将spring-cloud-stream Kafka套接字配置为活动状态。根据推荐页面https://github.com/azure/azure-event-hubs-for-kafka/blob/master/configuration.md ,我需要将设置为true,但在spring-cloud-stream中找不到要设置的配置

  • 我可以并行连接服务器套接字和客户端套接字的多个独立I/O流,以便每对I/O流可以同时发送不同的数据吗? 如何在java中实现这样的连接而不增加服务器和客户端之间的套接字数量?

  • 线程“main”java.net.ConnectException:连接超时:在java.net.dualStackplainsockeTimpl.Connect0(本机方法)在java.net.dualStackplainsockeTimpl.socketConnect(DualStackplainsockeTimpl.java:69)在java.net.abstractplainsockeTi

  • 问题内容: 2个流: 给定可读流, 并且 获取包含 并 连接 流的惯用(简洁)方法是什么? 我不能做,因为这样流内容混杂在一起。 n个 流: 给定一个EventEmitter发出不确定数量的流,例如 一种将 所有流串联在一起的流 的惯用(简洁)方法是什么? 问题答案: 该合并的流包会连接流。自述文件中的示例: 我相信您必须立即添加所有流。如果队列为空,则自动结束。参见问题5。 该流流库是一个具有明