Простой tcp-чат

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by EP025, 20 Jan 2017.

  1. EP025

    EP025 New Member

    Joined:
    1 Jan 2016
    Messages:
    25
    Likes Received:
    2
    Reputations:
    0
    Привет всем! Ребят, недавно познакомился с сокетами и для лучшего понимания
    решил что-нибудь написать. По стандарту это tcp-чат на двоих человек :)
    Не знаю как реализовать начало диалога, кто-то должен обязательно написать первым,
    получается что-то вроде этого:

    recv(client_1, (void *)&buffer, sizeof(buffer), 0);
    send(client_2, buffer, sizeof(buffer), 0);

    Т.е. первым должен написать client_1, client_2 - ответить. Получается такая нелепая
    цепочка. Хочется чтобы и тот, и другой могли писать друг другу когда заблагорассудится.
    Посоветуйте пожалуйста, что можно почитать по этой теме, спасибо)
     
  2. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    562
    Likes Received:
    189
    Reputations:
    35
  3. Karxar

    Karxar New Member

    Joined:
    20 Oct 2010
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    на Qt есть примеры можно их посмотреть
     
    EP025 likes this.
  4. S3cDet

    S3cDet New Member

    Joined:
    18 Feb 2017
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    Можно по схеме "Клиент отправил - сервер обработал - отправил всем клиентам".
     
    EP025 likes this.
  5. kranx

    kranx Member

    Joined:
    19 Feb 2017
    Messages:
    17
    Likes Received:
    7
    Reputations:
    0
  6. EP025

    EP025 New Member

    Joined:
    1 Jan 2016
    Messages:
    25
    Likes Received:
    2
    Reputations:
    0
  7. EP025

    EP025 New Member

    Joined:
    1 Jan 2016
    Messages:
    25
    Likes Received:
    2
    Reputations:
    0
  8. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,174
    Likes Received:
    266
    Reputations:
    82
    _________________________
Loading...