Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

V C++ & sockety - Komunikacja pomiędzy 2 programami, brak odebranych danych.

dram123 09 Lip 2013 22:42 846 2
  • #1 09 Lip 2013 22:42
    dram123
    Poziom 11  

    Witam.

    Chcąc utworzyć dwa programy które komunikują się ze sobą przystąpiłem do działania (zdaje sobie że dużo rzeczy jest zerżnięte z internetu, a niektóre poprawione przeze mnie) - ale dopiero raczkuje.

    Serwer:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Klient:

    Chodzi o to ,że chce aby serwer non stop nasłuchiwał przychodzące połączenia -> akceptował a następnie odczytywał to co zostało przysłane.

    Aktualnie mam tak ,że serwer akceptuje przychodzące połączenia ale nie odczytuje nic.

    W konsoli mam informacje o połączeniu, potem zaś recv: no error

    I złapano bajtów -1

    Ale recv i ilość bajtów dopiero wyskakuje jak nacisne ctrl +c w programie do wysyłania danych.
    --
    Przy okazji zapytam. Czy jeżeli napisze swój program z wykorzystaniem windows form aplication to czy on będzie jakiś 'mniej' profesjonalny? Czy np. może się wydarzyć tak, że nie będę czegoś mógł zrobić, niż gdybym całe okno przygotował w visual c++ zamiast visual basic?

    Proszę umieszczać kod w znacznikach syntax. Opcja Listing kodu. [adamas_nt]

    0 2
  • #2 10 Lip 2013 06:37
    krru
    Poziom 32  

    Uruchamiaj programu kolejno - na początek proponuje zamiast klienta użyć telnet.
    Po co robisz bind/accept w kliencie?

    0
  • #3 11 Lip 2013 02:42
    dram123
    Poziom 11  

    Hmm udało mi sie jakoś zrobić odbieranie, choć nie do końca.

    Po wysłaniu danych odbieram je takie:

    Code:

    selectserver: new connection from 127.0.0.1 on socket 136
    Beej was here!╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠
    ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠
    ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠
    ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ł | 14^C


    to co zwraca kończy się na '|' 14 zaś to liczba bajtów (14 bajtów jak dla mnie to liczba bez tekstu( a raczej tych krzaków)

    Beej was here! to oczywiście to co chciałem wysłać.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Tak odbieram. Myśle że to może zależeć od typu (czyli tego 0 na końcu)

    0