Просмотр полной версии : Пропащие Header-Ы
так-с, пишу прогу по сокетам на с++. Натолкнулся а исходнег, а там #include <sys/types.h>
#include <sys/socket.h>
#include <etinet/in.h>
и прочие Компилятор VS 2005 выдаёт на них ошипки.
удаляю, ставлю другие : ошипки на write bind и прочее. Хэлп, плиз :какие хдэры нужны для сокетов,
дык у тя исходник под gcc - Линуксовидный компилятор.
Конечно если там нет никаких заморочек, то запросто можешь переписать на win32
попробую заменить на их виндовые аналоги типа
#include <winsock.h>;
#include <windows.h>;
#include <stdio.h>;
#pragma comment (lib,"ws2_32")
или на #include <winsock2.h>
#include "stdafx.h"
#include <winsock.h>;
#include <windows.h>;
#include <stdio.h>;
#pragma comment (lib,"ws2_32")
#define SRV_PORT 1234
#define BUF_SIZE 64
#define TXT_QUEST "Who are you?\n"
main ()
{
int s, s_new;
int from_len;
char buf[BUF_SIZE];
struct sockaddr_in sin, from_sin;
s = socket (AF_INET, SOCK_STREAM, 0);
memset ((char *)&sin, '\0', sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_port = SRV_PORT;
bind (s, (struct sockaddr *)&sin, sizeof(sin));
listen (s, 3);
while (1) {
from_len = sizeof(from_sin);
s_new = accept (s, &from_sin, &from_len);
write (s_new, TXT_QUEST, sizeof(TXT_QUEST));
from_len = read (s_new, buf, BUF_SIZE);
write (1, buf, from_len);
shutdown (s_new, 0);
close (s_new);
};
}
проблемы с close, write и прочим, помогите плиз переделать
проверить не могу но примерно так
#include "stdafx.h"
#include <winsock.h>;
#include <windows.h>;
#include <stdio.h>;
#pragma comment (lib,"ws2_32")
#define SRV_PORT 1234
#define BUF_SIZE 64
#define TXT_QUEST "Who are you?\n"
main ()
{
int s, s_new;
int from_len;
char buf[BUF_SIZE];
struct sockaddr_in sin, from_sin;
s = socket (AF_INET, SOCK_STREAM, 0);
memset ((char *)&sin, '\0', sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_port = SRV_PORT;
bind (s, (struct sockaddr *)&sin, sizeof(sin));
listen (s, 3);
while (1) {
from_len = sizeof(from_sin);
s_new = accept (s, &from_sin, &from_len);
send (s_new, TXT_QUEST, sizeof(TXT_QUEST),0);
from_len = recv (s_new, buf, BUF_SIZE,0);
send (1, buf, from_len,0);
shutdown (s_new, 0);
closesocket (s_new);
};
}
#include "stdafx.h"
#include <winsock.h>;
#include <windows.h>;
#include <stdio.h>;
.............................
send (1, buf, from_len,0);
};
вы чего вообще чтоли.
send (1, buf, from_len,0);
жесть....
>>send (s_new, buf, from_len,0);
Сори за код который кидал, просто сменил имена функций и добавил параметр к send и recv както даже не обратил внимания что с самого начала чуть кривовато было. ;)
De-visible
26.08.2008, 15:50
Касается roland, все коды в тегах [*code]
------
Думаю вопрос решен и тему можно закрыть?....
кароч делит тему, буду искать курево)))
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot