У меня есть проект, где я общаюсь с сервером через сокет и выполняется в течение длительного периода времени (Исходный код ниже …) Однако на win 7 с языками как Датский / Китайский на некоторых машинах это дает мне ошибки типа: a particular servelet doesn't exist
, Хотя соединение создано и сообщение отправлено, я получаю сообщение как ошибку.
Теперь я хочу включить winsock2.h
с Ws2_32.lib
и хочу изменить MAKEWORD(1,1)
в MAKEWORD(2,2)
, Насколько мне безопасно продвигаться с этим изменением в проекте, который запущен в течение длительного периода?
// Я включил основные источники здесь.
#include <winsock.h>
// with winsock32.lb
SOCKET sockRef = NULL;
struct sockaddr_in srvInfo;
struct hostent *netHostForName = NULL;
WORD wVersionRequested = MAKEWORD(1,1);
int nRet = WSAStartup(wVersionRequested, &wsaData);
netHostForName = gethostbyname(serverName);
memcpy((char *)&srvInfo.sin_addr, netHostForName->h_addr,
netHostForName->h_length);
srvInfo.sin_port = htons(portNumber);
srvInfo.sin_family = AF_INET;
sockRef = socket(AF_INET, SOCK_STREAM, 0);
connect(sockRef, (struct sockaddr *)&srvInfo,sizeof(srvInfo));
// Sending messages with
SockWrite(Socket, message, strlen(message), 0);
//Receiving messages with
recv(Socket, szBuffer, sizeof(szBuffer), 0);
CLOSESOCKET(Socket);
WSACleanup();
это не сокет, это данные, использующие данные в кодировке utf-8 в качестве потока символов.
Других решений пока нет …