Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / WinSocket на Visal C++ / 15 сообщений из 15, страница 1 из 1
26.01.2006, 09:51
    #33504062
Belevern
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
Всю свою жизнь я программировал на Borland C++ Builder, Borland C++ (из С++ только на этом). И вот я в нём разочаровался. Решил перейти на Visual C++. Но не понял как там сделать сокеты. Т.е. в билдере это был такой компонент как ServerSocket и ClientSocket. Можите мне на примере простейшей программе написать как это выглядело бы в Visual C++? Т. е. чтобы там было видно как прослушивать порт, как принимать данные, как отправлять их, как подключаться.
Зараннее спасибо.
...
Рейтинг: 0 / 0
26.01.2006, 10:06
    #33504105
Barte
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
BelevernВсю свою жизнь я программировал на Borland C++ Builder, Borland C++ (из С++ только на этом). И вот я в нём разочаровался. Решил перейти на Visual C++. Но не понял как там сделать сокеты. Т.е. в билдере это был такой компонент как ServerSocket и ClientSocket. Можите мне на примере простейшей программе написать как это выглядело бы в Visual C++? Т. е. чтобы там было видно как прослушивать порт, как принимать данные, как отправлять их, как подключаться.
Зараннее спасибо.

Привет.
Во-первых, в сети есть много документации на эту тему.
Вот: www.codenet.ru www.sources.ru

Во-вторых, ну я конечно думаю Вы сами знаете, но, напишу. В Отличие от Buildera в VS C++ всё надо писать ручками, то есть нету таких ActivX компонентов которые можно на диалоге разместить и у видеть все их методы. Есть класс который надо самому реализовать.
...
Рейтинг: 0 / 0
26.01.2006, 10:09
    #33504117
Belevern
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
Дамс... я это уже понял. Я даже не знаю как называеться класс сокетов: WinSock не подходит. Щас поищу...
...
Рейтинг: 0 / 0
26.01.2006, 10:12
    #33504130
Barte
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
BelevernДамс... я это уже понял. Я даже не знаю как называеться класс сокетов: WinSock не подходит. Щас поищу...

В MSDN'e всё есть класс CSocket.
...
Рейтинг: 0 / 0
26.01.2006, 10:19
    #33504148
Barte
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
CSocet это класс из библиотеки классов MFC. Но если хочется чтобы без MFC есть
такой модуль socket.h Можно с ним работать.
...
Рейтинг: 0 / 0
26.01.2006, 10:26
    #33504171
Belevern
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
Всё равно плохо понимаю... можно всё таки небольшой примерчик?
...
Рейтинг: 0 / 0
26.01.2006, 10:33
    #33504193
Belevern
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
Напишите пожалуйста примерчик... Буду очень благодарен
...
Рейтинг: 0 / 0
26.01.2006, 10:35
    #33504207
Barte
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
BelevernВсё равно плохо понимаю... можно всё таки небольшой примерчик?

Чувак, если ты плохо понимаешь, то что написано в документации, то купи книгу "Socet для чайников" если такая есть!!! Как ты в Buildere работал всю свою жизнь, если тут не можешь разобрать материал который тебе дали? Прости меня но у меня есть работа, а ты хочешь чтобы тебя учили, ты должен сам учится. :)
...
Рейтинг: 0 / 0
26.01.2006, 10:37
    #33504212
Belevern
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
Я разбираюсь... А по ходу этого говорю что ещё не разобрался. 8-) Вот и прошу примерчик, т.к. с ним будет проще.
...
Рейтинг: 0 / 0
26.01.2006, 10:47
    #33504249
_Балтика
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
BelevernЯ разбираюсь... А по ходу этого говорю что ещё не разобрался. 8-) Вот и прошу примерчик, т.к. с ним будет проще.В MSDN-е же куча примеров есть. Вот, нпример, прстейшая заготовка для сервера:
MSDN
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
#include <stdio.h>
#include "winsock2.h"

void main() {
  //-----------------------------------------
  // Declare and initialize variables.
  WSADATA wsaData;
  SOCKET ListenSocket, AcceptSocket;
  sockaddr saClient;
  int iClientSize = sizeof(saClient);
  u_short port =  27015 ;
  char* ip;
  sockaddr_in service;

  //-----------------------------------------
  // Initialize Winsock.
  WSAStartup(MAKEWORD( 2 , 2 ), &wsaData);

  //-----------------------------------------
  // Create a listening socket.
  ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

  //-----------------------------------------
  // Set up the sock addr structure that the listening socket
  // will be bound to. In this case, the structure holds the
  // local IP address and the port specified.
  service.sin_family = AF_INET;
  service.sin_port = htons(port);
  hostent* thisHost;
  thisHost = gethostbyname("");
  ip = inet_ntoa (*(struct in_addr *)*thisHost->h_addr_list);
  service.sin_addr.s_addr = inet_addr(ip);

  //-----------------------------------------
  // Bind the listening socket to the IP address.
  // and port number specified by the sockaddr structure.
  bind(ListenSocket, (SOCKADDR *) &service, sizeof(SOCKADDR));

  //-----------------------------------------
  // Make the listening socket listen for incoming
  // connection requests.
  listen(ListenSocket,  1 );
  printf("Listening...\n");

  //-----------------------------------------
  // Accept an incoming connnection request on the
  // listening socket and transfer control to the 
  // accepting socket.
  AcceptSocket = WSAAccept(ListenSocket, &saClient, &iClientSize, NULL, NULL);

  //-----------------------------------------
  // Clean up and quit. At this point, the application could
  // handle data transfer on the socket, or other socket
  // functionality.
  WSACleanup();
  return;
}
...
Рейтинг: 0 / 0
26.01.2006, 11:03
    #33504307
Belevern
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
Млин... обнаружил проблемку: Visual C++ 8 с этим не работпет... т.е. пишет кучу Linking error'ов и не запускаеться... фигово.
...
Рейтинг: 0 / 0
26.01.2006, 11:30
    #33504418
_Балтика
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
BelevernМлин... обнаружил проблемку: Visual C++ 8 с этим не работпет... т.е. пишет кучу Linking error'ов и не запускаеться... фигово.Подключи Ws2_32.lib
...
Рейтинг: 0 / 0
26.01.2006, 12:30
    #33504678
ens
ens
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
Бросай Visual C++ иди в Unix
там все круче...
...
Рейтинг: 0 / 0
27.01.2006, 00:42
    #33506308
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
Barte В Отличие от Buildera в VS C++ всё надо писать ручками, то есть нету таких ActivX компонентов которые можно на диалоге разместить и у видеть все их методы. Есть класс который надо самому реализовать.

В отличии от VC в Builder все компоненты не ActiveX, а с исходными кодами.

не нравится родной компонент - берешь чужой или пишeшь свой код.
...
Рейтинг: 0 / 0
27.01.2006, 01:24
    #33506336
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinSocket на Visal C++
Belevern...

Для того уровня программирования, который выбрали вы
непринципиально, на чем писать. Если вы отказываетесь
от MFC в пользу чистого API, тогда возникает вопрос.
А в чем вы РАЗОЧАРОВАЛИСЬ ? Неужели вы не могли
в BCB запрограммировать сокет на низком уровне?

Или я чет-не понял?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / WinSocket на Visal C++ / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]