while문에 관한 질문입니다. 넘 어렵네요.^^;;

itexpert의 이미지

안녕하세요.
지금 하려는 작업은
tcp소켓으로 연결된 서버한테 클라이언트들의 정보를 받아
배열에 저장시켜, 그에따른 메뉴를 보여주고처리하려합니다.
그런데. 처음 클라이언트의 정보를 받고,
바로 두번째 while문으로 넘어가서,
받아야할 정보는 1개 이상인데요.
1개만 받고 두번째 while문으로 빠져버리니..데이터한건만을
보여주게되네요.
어떻게 하면, 정보를 다 받고, 두번째 while문으로 갈수있을까요?
프로그램 구조적 문제인가요? 설계를 잘못했는지..
영..어떤처리를 해야할지 모르겠네여.
물론 받는 갯수가 정해져있다면야,
예)10개 받으면 aa=1;로 세팅하여
두번째 while문을 while(aa==1)로 하면되는데.
정해진것도 아니고..방법이 없을까요?
답변해주시면 정말 감사하겠습니다.

main()
{...
  while(1)
    select..
    if(FD_ISSET(s,&read_fds)){ //서버연결소켓 기술자에 변경이 생기면.
      recv(s, xx[i]..)         //여러클라이언트들의 주소를 저장
      i++;
    ..

    while(1){...               //여기서 이제 받은목록을 출력하며, 메뉴출력및
    }                          //사용자의 선택을 기다리고 그에따른 처리..
sozu의 이미지

제가 잘이해했는지 모르겠지만

N개의 클라이언트로부터 데이터 정보를 받고

모두 받게 되면 특정한 루틴을 처리하고 싶으신것인가요?

만약, 그렇다면

그에 대한 자료구조만 만들어 주시면 될듯 싶습니다.

예를 들어 가장 간단한 방법은 현재 접속한 클라이언트만큼 카운팅 할수 있겠죠
(물론 이렇게 했을때, 데이터 정보가 중복해서 올수 있다면 중복된것을 알아낼수는 없지만요)

카운트를 하다가 원하는 갯수가 되었을때

특정 루틴을 처리해 주면 되지 않을까요..

질문을 잘 이해한건지 모르겠네요 :oops:

-----------
청하가 제안하는 소프트웨어 엔지니어로써 재미있게 사는 법
http://sozu.tistory.com

버려진의 이미지

질문이 참 모호한것 같습니다 :roll:
혹시 continue; 를 원하시는게 아닌가 모르겠네요?

정태영의 이미지

기초부터 착실히..
....
:(

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

sunge의 이미지

유동적인 유저때문이라면 유저의 접속을 관리해주는 부분을 구현해 주시면 되겠죠.
가장 단수한 벙법은 카운팅이고, 폴링으로 하셔도 되고요.

근데 저 질문을 봐서는... pyj200님 글처럼 continue;를 원하시는 건지...

Simple is best, all of the time...
저거 맞나...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.