#ifdef __cplusplus
extern "C" {
#endif
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <winsock.h>
#define ERROR_INVOKED_SOCKET_STR "Error invoked socket!"
#define ERROR_INVOKED_CONNECT_STR "Error invoked connect!"
#define ERROR_INVOKED_SEND_STR "Error invoked send!"
#define ERROR_INVOKED_RECV_STR "Error invoked recv!"
int main(int argc, char **argv)
{
struct sockaddr_in peer;
int s;
int rc;
char buf[1];
peer.sin_family = AF_INET;
peer.sin_port = htons(7500);
peer.sin_addr.s_addr = inet_addr("127.0.0.1");
s = socket(AF_INET, SOCK_STREAM, 0);
if (s < 0) {printf("%s\n", ERROR_INVOKED_SOCKET_STR);goto L1;}
rc = connect(s, (struct sockaddr *)&peer, sizeof(peer));
if (rc) {printf("%s\n", ERROR_INVOKED_CONNECT_STR);goto L1;}
rc = send(s, "1", 1, 0);
if (rc <= 0) {printf("%s\n", ERROR_INVOKED_SEND_STR);goto L1;}
rc = recv(s, buf, 1, 0);
if (rc <= 0) {printf("%s\n", ERROR_INVOKED_RECV_STR);}
else {printf("%c\n", buf[0]);}
L1:
system("pause");
return 0;
}
#ifdef __cplusplus
}
#endif
Сетевой кодинг
Плиз, выложите сорсы самой простой клиент - сервер программы.
Работать должна так:
Клиент конектится к серверу, посылает строку символов, сервер принемает её и выводит на экран.
НЕ НАДО НИКАКИХ ПРОВЕРОК!!!
Просто чтобы в тупую коннектилась и посылала строку.
ЗАРАНЕЕ СПАСИБО ВСЕМ ОТВЕТИВШИМ!
P.S.
Не надо перепосылать меня на линки.
И не надо писать сетевых прог не под Win системы(знаю я этих админов - кодеров :)).
Цитата:
Originally posted by [ss]3L33T@
НАРОД!
Плиз, выложите сорсы самой простой клиент - сервер программы.
Работать должна так:
Клиент конектится к серверу, посылает строку символов, сервер принемает её и выводит на экран.
НЕ НАДО НИКАКИХ ПРОВЕРОК!!!
Просто чтобы в тупую коннектилась и посылала строку.
ЗАРАНЕЕ СПАСИБО ВСЕМ ОТВЕТИВШИМ!
P.S.
Не надо перепосылать меня на линки.
И не надо писать сетевых прог не под Win системы(знаю я этих админов - кодеров :)).
НАРОД!
Плиз, выложите сорсы самой простой клиент - сервер программы.
Работать должна так:
Клиент конектится к серверу, посылает строку символов, сервер принемает её и выводит на экран.
НЕ НАДО НИКАКИХ ПРОВЕРОК!!!
Просто чтобы в тупую коннектилась и посылала строку.
ЗАРАНЕЕ СПАСИБО ВСЕМ ОТВЕТИВШИМ!
P.S.
Не надо перепосылать меня на линки.
И не надо писать сетевых прог не под Win системы(знаю я этих админов - кодеров :)).
Client :
Код:
Server:
Код:
#ifdef __cplusplus
extern "C" {
#endif
#include <windows.h>
#include <shellapi.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <winsock.h>
#include <winsock2.h>
#define ERROR_INVOKED_SOCKET_STR "Error invoked socket!"
#define ERROR_INVOKED_CONNECT_STR "Error invoked connect!"
#define ERROR_INVOKED_SEND_STR "Error invoked send!"
#define ERROR_INVOKED_RECV_STR "Error invoked recv!"
#define ERROR_INVOKED_BIND_STR "Error invoked bind!"
#define ERROR_INVOKED_LISTEN_STR "Error invoked listen!"
#define ERROR_INVOKED_ACCEPT_STR "Error invoked accept!"
int main(int argc, char **argv)
{
struct sockaddr_in local;
int s;
int s1;
int rc;
char buf[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);
if (s < 0) {printf("%s\n", ERROR_INVOKED_SOCKET_STR);goto L1;}
rc = bind(s, (struct sockaddr *)&local, sizeof(local));
if (rc < 0) {printf("%s\n", ERROR_INVOKED_BIND_STR);goto L1;}
rc = listen(s, 5);
if (rc) {printf("%s\n", ERROR_INVOKED_LISTEN_STR);goto L1;}
s1 = accept(s, NULL, NULL);
if (s1 < 0) {printf("%s\n", ERROR_INVOKED_ACCEPT_STR);goto L1;}
rc = recv(s1, buf, 1, 0);
if (rc <= 0) {printf("%s\n", ERROR_INVOKED_RECV_STR);}
printf("%c\n", buf[0]);
rc = send(s1, "2", 1, 0);
if (rc <= 0) {printf("%s\n", ERROR_INVOKED_SEND_STR);goto L1;}
L1:
system("pause");
return 0;
}
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
#include <windows.h>
#include <shellapi.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <winsock.h>
#include <winsock2.h>
#define ERROR_INVOKED_SOCKET_STR "Error invoked socket!"
#define ERROR_INVOKED_CONNECT_STR "Error invoked connect!"
#define ERROR_INVOKED_SEND_STR "Error invoked send!"
#define ERROR_INVOKED_RECV_STR "Error invoked recv!"
#define ERROR_INVOKED_BIND_STR "Error invoked bind!"
#define ERROR_INVOKED_LISTEN_STR "Error invoked listen!"
#define ERROR_INVOKED_ACCEPT_STR "Error invoked accept!"
int main(int argc, char **argv)
{
struct sockaddr_in local;
int s;
int s1;
int rc;
char buf[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);
if (s < 0) {printf("%s\n", ERROR_INVOKED_SOCKET_STR);goto L1;}
rc = bind(s, (struct sockaddr *)&local, sizeof(local));
if (rc < 0) {printf("%s\n", ERROR_INVOKED_BIND_STR);goto L1;}
rc = listen(s, 5);
if (rc) {printf("%s\n", ERROR_INVOKED_LISTEN_STR);goto L1;}
s1 = accept(s, NULL, NULL);
if (s1 < 0) {printf("%s\n", ERROR_INVOKED_ACCEPT_STR);goto L1;}
rc = recv(s1, buf, 1, 0);
if (rc <= 0) {printf("%s\n", ERROR_INVOKED_RECV_STR);}
printf("%c\n", buf[0]);
rc = send(s1, "2", 1, 0);
if (rc <= 0) {printf("%s\n", ERROR_INVOKED_SEND_STR);goto L1;}
L1:
system("pause");
return 0;
}
#ifdef __cplusplus
}
#endif
Ну хоть один цивильный чувак.
Пасибо.