Я пытался связать сокет в windows 10 как в c (используя cygwin ), так и python.
Оба языка не работают, реализация c возвращает: **"bind: Cannot assign requested address"**
.
Я не уверен, что проблема в том, что запуск одного и того же кода на windows 7 не дает проблема.
У кого-нибудь есть подсказки?
Я включаю код c:
#include<stdio.h> //printf
#include<string.h> //memset
#include<stdlib.h> //exit(0);
#include<arpa/inet.h>
#include<sys/socket.h>
#include<unistd.h> //close
#include <sys/errno.h>
int main(int argc, char *argv[])
{
//initialize socket and structure
int socket_info;
struct sockaddr_in server;
//create socket
socket_info = socket(AF_INET, SOCK_DGRAM, 0);
if (socket_info == -1) {
printf("Could not create socket.");
exit(0);
}
// zero out the structure
memset((char *) &server, 0, sizeof(server));
server.sin_family = AF_INET;
//Use this ip address
char pc_ip_addr[] = "192.168.100.47";
inet_pton(AF_INET, pc_ip_addr, &server.sin_addr.s_addr);
//Destination port
server.sin_port = htons( 12345 );
//Binding address to this server
if (bind(socket_info, (struct sockaddr *)&server, sizeof(server)) != 0) {
perror("Binding error");
exit(0);
}
puts("Server binding success.");
close(socket_info);
}