socket에 connect에 대한 질문을 드리겠습니다.

anaud2의 이미지

안녕하세요

간단한 TCP/IP통신을 하고 있는데요
궁금한 사항이 있어서 질문을 드리겠습니다.

connect나 read write 에서 Sigalrm을 걸고 테스트를 하고 있는데요 Connect에서도 Timeout을 하려고 하는데
제생각에는 서버에서 accept 대기를 하고 있어야 클라이언트가 connect할수있다고 생각이 드는되요

1번 서버(다중서버아님 기본에코서버)가 accept대기 하다가 1번 클라이언트가 connect하고 서로 read write하고 있습니다.
그때 2번 클라이언트가 server에 포트로 connect한다고 하면
제생각에는 2번 클라이언트가 대기를 타거나 connect error를 내야된다고 생각이 드는데 connect 리턴값을 보니까 0을 리턴하네요
0이면 connect 성공인데..

다중서버도 아닌데 accept를 서버가 해주지도 않는 상황에서 connect가 되는게 신기합니다. 또한 그렇다면 서버가 구동이 안되고 있으면 -1을 리턴하고
서버가 있기만 하면(해당포트가 있으면)그냥 혼자서 connect를 하는것인가요?
그렇다면 sigalrm을 할필요가 없어보이네요 무한정 대기를 하지않으니까요

제생각이 맞는지 답변을 좀 부탁드립니다.

suh0424의 이미지

서버에서는 listen함수로 connect를 대기합니다.
listen함수의 파라메터로서 몇개의 클라이언트를 관리하겠냐는 옹근수값을 주는데
이값에 따라 한서버에 콘넥트할수있는 클라이언트수가 주어집니다.
accept함수는 단지 개별적인 클라이언트와 서버의 련결을 지어주는 함수입니다.

도움이 되셨으면 좋겠습니다.

suh0424의 이미지

서버에서는 listen함수로 connect를 대기합니다.
listen함수의 파라메터로서 몇개의 클라이언트를 관리하겠냐는 옹근수값을 주는데
이값에 따라 한서버에 콘넥트할수있는 클라이언트수가 주어집니다.
accept함수는 단지 개별적인 클라이언트와 서버의 련결을 지어주는 함수입니다.

도움이 되셨으면 좋겠습니다.

suh0424의 이미지

서버에서는 listen함수로 connect를 대기합니다.
listen함수의 파라메터로서 몇개의 클라이언트를 관리하겠냐는 옹근수값을 주는데
이값에 따라 한서버에 콘넥트할수있는 클라이언트수가 주어집니다.
accept함수는 단지 개별적인 클라이언트와 서버의 련결을 지어주는 함수입니다.

도움이 되셨으면 좋겠습니다.

anaud2의 이미지

^^

neodada7의 이미지

한번 입력한 댓글은 삭제가 안되나요? ㅠ.ㅠ

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.