Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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

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

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

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

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

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

Не ну это понятно) что значат эти коды хотелось бы узнать)
ЗЫ. Пробую через 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 в 17:52.
Armatus вне форума Ответить с цитированием
Старый 26.11.2010, 18:00   #7
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
127 .0.0.1
Эээээ....это localhost.
_-Re@l-_ вне форума Ответить с цитированием
Старый 26.11.2010, 23:43   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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