Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

не работает клиент\сервер

60K
28 августа 2010 года
evil0o
6 / / 11.08.2010
проблема такая отправляет одно сообщение(да и это клиент):
#include <Winsock2.h>
#include <vcl.h>
#include <dos.h>
#include <stdio.h>
#include <iostream>
#pragma hdrstop
using namespace std;

#pragma argsused
int err=-1;
void main()
{
WSAData WSData;
WSAStartup(0x101,&WSData);
while(1)
{
sockaddr_in SA;

SA.sin_family=AF_INET;
SA.sin_port=htons(1234);
SA.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

SOCKET sock_client= socket(AF_INET,SOCK_STREAM,0);
for (int i =0; i =err;)
{
err=connect(sock_client,(sockaddr*)&SA,sizeof(SA)); соединение с сервером:
cout<<err<<endl;
}

char buf[7];
scanf("%s",&buf);
send(sock_client,(char *)&buf,7,0);

closesocket(sock_client);
cout<<"end"<<endl;
};
}

а вот так работает:

int err=-1;
void main()
{ WSAData WSData;
WSAStartup(0x101,&WSData);
while(1)
{ sockaddr_in SA;
SA.sin_family=AF_INET;
SA.sin_port=htons(1234);
SA.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
SOCKET sock_client= socket(AF_INET,SOCK_STREAM,0);
connect(sock_client,(sockaddr*)&SA,sizeof(SA));
char buf[7];
scanf("%s",&buf);
send(sock_client,(char *)&buf,7,0);

closesocket(sock_client);
cout<<"end"<<endl;
};
}

вот сервер к нему:
int main()

{ int err;
WSADATA ws;
if (FAILED (WSAStartup(0x101,&ws) ) )
{ err = WSAGetLastError();}; // Error...
cout<<"WSAStartup"<<endl;
if (err==1){cout<<"ok"<<"("<<err<<")"<<endl;}
else cout<<"Error..."<<"("<<err<<")"<<endl;

SOCKET s;

if (INVALID_SOCKET==(s=socket(AF_INET, SOCK_STREAM, 0) ) )
{ // Error...
err = WSAGetLastError();
};
cout<<"socket (S)"<<endl;
if (err==1)
{
cout<<"ok"<<"("<<err<<")"<<endl;
}
else cout<<"Error..."<<"("<<err<<")"<<endl;



sockaddr_in s_add;
s_add.sin_family = AF_INET;
s_add.sin_addr.S_un.S_addr = INADDR_ANY;;
s_add.sin_port = htons (1234);

bind(s,(sockaddr*)&s_add,sizeof(s_add));
listen(s,SOMAXCONN);
//****************************************************************************************
SOCKET NS;
SOCKADDR_IN from;
int fromlen=sizeof(from);
//s1 = accept(s,(struct sockaddr*)&from, &fromlen);
while ((NS = accept(s,(struct sockaddr*)&from, &fromlen))!=INVALID_SOCKET)
{
cout<<"-------------------->\n";
cout<<"Connected...\n";

printf("accepted connection from %s, port %d\n", inet_ntoa(from.sin_addr), htons(from.sin_port)) ;

char* a=new char[100];
recv(NS,a,7,0);
cout<<"Received: \"";
for (int i=0;i<7;i++) { cout<<a; }
cout<<"\"\n";
closesocket(NS);
cout<<"-------------------->\n";
};


closesocket(NS);
int n;
}
1
28 августа 2010 года
kot_
7.3K / / 20.01.2000
не использование тегов форматирования - это нарушение. приведите сообщение в нормальный вид.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог