read에서 기다리는 시간..

익명 사용자의 이미지

안녕하세요..

C에서 소켓으로 데이터를 읽어올때
read함수를 써서 읽어옵니다.

그런데 read함수를 쓰면 상대방이 데이터를 write해줄때까지.. 무한정 기
다리는건가요? 무한정은 아니더라도 제가 원하는 시간보다는 훨씬 오래 기
다리더군요..

read함수에서 상대방의 데이터를 기다리는 시간을 조절해주고 싶은데요.
어떻게 하면 될지..
검색을 해봤는데..ㅡㅡ;; 검색 키워드를 잘못 선택했는지 잘 나오지 않아
서 그냥 이렇게 질문 올립니다...
부탁드립니다.. 항상 행복하세요...

익명 사용자의 이미지

기본적으로 read함수는 필요한 데이타가 버퍼에 다 들어오기 전까지는 무
한정 블럭된 상태입니다..그래서 일반적으로 서버에서 소켓 프로그램을 할
때에는 소켓을 nonblock 상태로 만들어서 사용합니다..아니면 read할때 타
이머를 걸수도 있습니다..
자세한 사항은 스티븐스 아저씨가 쓴 UNP라는 책을 보시면 이러한 문제에
대한 다양한 해결책이 많이 나와 있습니다..^^

익명 사용자의 이미지

안녕하세요..

답변 감사드립니다.. 소켓 옵션 같은거에는.. 그런 기능이 없군요..
예전에 자바 할때는 있었던거 같은데..^^;;;

근데여.. 움. 좀 우스운 질문일지는 모르겠지만..
보통 이런 프로그래밍에 관련된 책은 어디서 구하나요?
저는 밖에 나갈 시간이 없어서 주로 인터넷으로 책을 구입합니다
wowbook같은데 자주 가는데요.. 거기서 검색을 해보면 제가 원하는 책은
거의 없더군요. 스티븐스 님의 책 구해볼려구 검색해보면 대부분 품
절??.. 이라구 하던가? 암튼.. 그렇게만 나와있습니다.

혹시 리눅스 C 프로그래밍 책 조금 쉽게 구할수 있는곳 아시나요?
서점으로 직접 찾아가야 하는건지..ㅡㅡaa

이런 질문 드려서 죄송하지만. 혹시라두 아시는곳 있음 좀 알려주세요^^

댓글 달기

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