Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Клуб программистов > Обсуждение статей
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 24.11.2010, 12:13   #1
Armatus
Форумчанин
 
Регистрация: 09.05.2009
Сообщений: 116
Репутация: 10
По умолчанию Сетевое программирование

Хотелось бы попросить, уважаемые программеры, дать наводящий совет по литературе, относительно сетевого программирования. Задался целью написать приложение для передачи файлов по протоколу TCP\IP через интернет. Программировать пытаюсь в среде Embarcadero® C++Builder® 2010. Заранее благодарен.

Последний раз редактировалось Armatus; 24.11.2010 в 12:16.
Armatus вне форума   Ответить с цитированием
Старый 24.11.2010, 13:41   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,842
Репутация: 6832
По умолчанию

Почитай книги про INDI. Для легкого ознакомления можно "Глубины INDI" взять.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 25.11.2010, 17:58   #3
Armatus
Форумчанин
 
Регистрация: 09.05.2009
Сообщений: 116
Репутация: 10
По умолчанию

Спасибо! =) Помогло
Armatus вне форума   Ответить с цитированием
Старый 26.11.2010, 15:44   #4
Armatus
Форумчанин
 
Регистрация: 09.05.2009
Сообщений: 116
Репутация: 10
По умолчанию

Кто может прокоментировать пару строк кода? Что значит параметры выделенные красным?

Цитата:
f = new TFileStream(C_Path,0xffff);
TFileStream *fs = new TFileStream("D:\\sock.pdf", 0x0);
Armatus вне форума   Ответить с цитированием
Старый 26.11.2010, 16:27   #5
_-Re@l-_
C++, Java
Профессионал
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Адрес: Екатеринбург
Сообщений: 2,665
Репутация: 420
По умолчанию

Это шестнадцатеричная система, сколько я понимаю.
_-Re@l-_ вне форума   Ответить с цитированием
Старый 26.11.2010, 18:48   #6
Armatus
Форумчанин
 
Регистрация: 09.05.2009
Сообщений: 116
Репутация: 10
По умолчанию

Не ну это понятно) что значат эти коды хотелось бы узнать)
ЗЫ. Пробую через WinAPI прогать но чтото не выходит. Клиент не хочет коннектиться к серверу. В чем беда?
Клиент:
Цитата:
//---------------------------------------------------------------------------

#pragma hdrstop

#include <tchar.h>
#include <winsock2.h>
#include <conio.h>
#include <iostream.h>
//---------------------------------------------------------------------------

#pragma argsused
int main()
{
WSADATA wData;
struct sockaddr_in addr;
SOCKET sock;
if(WSAStartup(MAKEWORD(1,1),&wData) !=0)
{
return 0;

}
sock=socket(AF_INET,SOCK_STREAM,0);
if(sock==-1)
{
return 0;
}
addr.sin_family=AF_INET;
addr.sin_port=htons(3132);
addr.sin_addr.s_addr=inet_addr("79. 175.58.150");
bind(sock,(struct sockaddr *)&addr,sizeof(addr));
if (connect(sock,(struct sockaddr *)&addr,sizeof(addr))) {
return 0;
}
char mes[10];
cin>>mes;
send(sock,mes,sizeof(mes),0);
getch();
shutdown(sock,2);
closesocket(sock);
WSACleanup();
return 0;

}

int find(){

return 0;
}
//---------------------------------------------------------------------------
Сервер:
Цитата:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <winsock2.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ WSADATA wData;
struct sockaddr_in addr,serv_addr;
SOCKET sock,list;
if(WSAStartup(MAKEWORD(1,1),&wData) !=0)
{
ListBox1->Items->Add("Error WSAStartup!");
}
sock=socket(AF_INET,SOCK_STREAM,0);
if(sock==-1)
{
ListBox1->Items->Add("Error socket!");
}
addr.sin_family=AF_INET;
addr.sin_port=htons(3132);
addr.sin_addr.s_addr=INADDR_ANY;
if (bind(sock,(struct sockaddr *)&addr,sizeof(addr))){
ListBox1->Items->Add("Error socket bind!");
}
listen(sock,1);
ListBox1->Items->Add("Socket listen.");
accept(sock,NULL,NULL);
char buff[1024];
recv(sock,buff,10,0);
ListBox1->Items->Add(buff);
}
Причем когда в клиенте и сервере пишу :
addr.sin_addr.s_addr=inet_addr("127 .0.0.1");
Тогда коннектиктся и сообщение получает.

Последний раз редактировалось Armatus; 26.11.2010 в 18:52.
Armatus вне форума   Ответить с цитированием
Старый 26.11.2010, 19:00   #7
_-Re@l-_
C++, Java
Профессионал
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Адрес: Екатеринбург
Сообщений: 2,665
Репутация: 420
По умолчанию

Цитата:
127 .0.0.1
Эээээ....это localhost.
_-Re@l-_ вне форума   Ответить с цитированием
Старый 27.11.2010, 00:43   #8
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 20,997
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

насчет красного это параметры открытия файла.
а насчет причины коннекта, вы по какому адресы пытаетесь коннектится?
"79. 175.58.150" что это за адрес?
Цитата:
Причем когда в клиенте и сервере пишу :
addr.sin_addr.s_addr=inet_addr("127 .0.0.1");
Тогда коннектиктся и сообщение получает.
вы конктитесь к своему же компу(как я понимаю сервер на нем и находится) естественно тогда будет коннект.
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 29.11.2010, 13:17   #9
Armatus
Форумчанин
 
Регистрация: 09.05.2009
Сообщений: 116
Репутация: 10
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
"79. 175.58.150" что это за адрес?
Это адрес в интернете. Хочу подключить к серверу который на этом же компе, но через инет.
Armatus вне форума   Ответить с цитированием
Старый 29.11.2010, 13:35   #10
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 20,997
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

1)там есть сервер на этом порту?
2)а IP адрес белый?
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
низкоуровневое сетевое программирование vov4ara Assembler 5 16.11.2010 08:19
Сетевое программирование PHP ACE Valery PHP 10 19.09.2010 03:54
Сетевое программирование Тунец Помощь студентам 4 09.07.2009 00:07
Сетевое программирование Winnows-32 Помощь студентам 1 01.12.2008 08:16


16:18.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru