#include <stdio.h>
#include <iostream>
#include <winsock2.h>
DWORD WINAPI ThreadFunc(LPVOID s1)
{
SOCKET s2=((SOCKET *) s1)[0];
char buf[100];
memset(buf, 0, sizeof(buf));
while(recv(s2,buf,100,0)){
std::cout<<buf;
send(s2,buf,100,0);
}
closesocket(s2);
return 0;
}
int main(){
WSADATA WsaData;
struct sockaddr_in local;
int s;
int rc;
int err = WSAStartup (0x0101, &WsaData);
if (err == SOCKET_ERROR)
{
printf ("WSAStartup() failed: %ld\n", GetLastError ());
return 1;
}
local.sin_family = AF_INET;
local.sin_port = htons(7500);
local.sin_addr.s_addr = htonl(INADDR_ANY);
s = socket(AF_INET,SOCK_STREAM,0);
SOCKET s1;
if (s<0){
perror("socket error");
exit(1);
}else{
std::cout<<"Create sock: OK\n";
}
rc = bind(s,(struct sockaddr*)&local, sizeof(local));
if (rc<0){
perror("bind error");
exit(1);
}else{
std::cout<<"Bind: OK\n";
}
rc = listen(s,5);
if(rc){
perror("listen error");
exit(1);
}else{
std::cout<<"Listen: OK\n";
}
int local2=sizeof(local);
while(s1=accept(s,0,0)){
DWORD thID;
CreateThread(NULL,NULL,ThreadFunc,&s1,NULL,&thID);
}
return 0;
}
Форум → Программирование → Больше языков → C/C++ и C# → C++. Клиент-сервер - завершение преложений после создания соединения
C++. Клиент-сервер - завершение преложений после создания соединения
Страницы: ← Предыдущая страница →
-
15 ноября 2009 г. 2:48, спустя 9 часов 33 минуты 3 секунды
если кому надо вот рабочий код -
26 ноября 2009 г. 19:40, спустя 11 дней 16 часов 51 минуту
читать не реально такой кодYou can be anything you want to be. Just turn yourself into anything you think that you could ever be. -
-
-
5 ноября 2011 г. 16:52, спустя 707 дней 14 часов 2 минуты
если кому надо вот рабочий код#include <stdio.h>
#include <iostream>
#include <winsock2.h>
DWORD WINAPI ThreadFunc(LPVOID s1)
{
SOCKET s2=((SOCKET *) s1)[0];
char buf[100];
memset(buf, 0, sizeof(buf));
while(recv(s2,buf,100,0)){
std::cout<<buf;
send(s2,buf,100,0);
}
closesocket(s2);
return 0;
}
int main(){
WSADATA WsaData;
struct sockaddr_in local;
int s;
int rc;
int err = WSAStartup (0x0101, &WsaData);
if (err == SOCKET_ERROR)
{
printf ("WSAStartup() failed: %ld\n", GetLastError ());
return 1;
}
local.sin_family = AF_INET;
local.sin_port = htons(7500);
local.sin_addr.s_addr = htonl(INADDR_ANY);
s = socket(AF_INET,SOCK_STREAM,0);
SOCKET s1;
if (s<0){
perror("socket error");
exit(1);
}else{
std::cout<<"Create sock: OK\n";
}
rc = bind(s,(struct sockaddr*)&local, sizeof(local));
if (rc<0){
perror("bind error");
exit(1);
}else{
std::cout<<"Bind: OK\n";
}
rc = listen(s,5);
if(rc){
perror("listen error");
exit(1);
}else{
std::cout<<"Listen: OK\n";
}
int local2=sizeof(local);
while(s1=accept(s,0,0)){
DWORD thID;
CreateThread(NULL,NULL,ThreadFunc,&s1,NULL,&thID);
}
return 0;
}
Привет, я новичек в C++, но немного знаком с другими языками. Создаю проект (консольное прил. win32) галку ставлю что проект пустой, там создаю в исх коде cpp в него вставляю код. нажимаю зеленую кнопочку (запуск.)
и выдает
1>—— Построение начато: проект: 6, Конфигурация: Debug Win32 ——
1>Компиляция…
1>1.cpp
1>Компиляция манифеста в ресурсы…
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Компоновка…
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции "unsigned long __stdcall ThreadFunc(void *)" ([email protected]@[email protected])
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции "unsigned long __stdcall ThreadFunc(void *)" ([email protected]@[email protected])
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции "unsigned long __stdcall ThreadFunc(void *)" ([email protected]@[email protected])
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ [email protected] в функции _main
1>C:\****************\Visual Studio 2008\Projects\6\Debug\6.exe : fatal error LNK1120: 10 неразрешенных внешних элементов
1>Журнал построения был сохранен в "file://c:\****************\Visual Studio 2008\Projects\6\6\Debug\BuildLog.htm"
1>6 - ошибок 11, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Подскажите пожулуйста, как это исправить.. попробовал уже и в 2010, и в 2008.. потом какую то хрень скачал wxDev-C++ ( читая темку _http://pyha.ru/forum/topic/6691.0 ).. незнаю что уже делать! -
5 ноября 2011 г. 17:09, спустя 16 минут 54 секунды
вставить этот код после всех директив #include#pragma comment(lib, "Ws2_32.lib")
You can be anything you want to be. Just turn yourself into anything you think that you could ever be. -
-
5 ноября 2011 г. 19:00, спустя 1 час 47 минут 3 секунды
лудше всетаки в настройках проекта в список используемых библиотек добавитьWork, buy, consume, die -
-
13 декабря 2011 г. 1:04, спустя 16 минут 8 секунд
Frozzeg, Mr.Pihto, нереально читать код на перле
бывает вполне реально иногда)using namespace std; для слабаков….?!?
Вроде тут оно не так критично ибо не так часто употребляется, не согласен разве что с такой записью:std::cout<<"Create sock: OK\n";
тру-вей использовать std:endlcout << "Create sock" << endl;
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!