(그림첨부합니다.)프로세스1:1통신을 하려면 어떻게 해야 하나요

qosqos의 이미지

서버 클라이언트 모델은 안될거 같아서 이렇게 질문드립니다.

프로세스간 통신을 UDS소켓을 사용해서 하려고 하는데...
이게 어느 한쪽이 서버이고 클라이언트 일수가 없는 상황입니다.

다른 모델있으면 좀 추천두 좀 해주시고...
해당 모델에 대한 코드가 좀 있으면 보여주셨으면 해요.
키워드라도 좀 알려주세요. ㅜ.ㅜ

그림...
그니깐 저건 한 프로세스에서 데이타를 send하면 다른 프로세스에서 그 데이타를 받아야 합니다.
제가 본 책들에서 서버 클라이언트에서는
클라이언트는 항상 먼저 데이타를 보내는 입장이고
서버는 항상 먼저 받는 입장이었습니다.
그런데
만일 그 반대의 상황도 동시에 있어야 한다면.. 이거 머리 아파져요.
select함수를 써서 readfd, writerfd를 선택하게 해도 되나요?
아니면 아예 스레드를 나눠서 read thread, write thread로 해야 하나요?

아.. 쉽다고들 하는 채팅프로그램 하나 짜본적없던 나의 학창시절이
너무 아쉽기만 합니다.

고수님들 도와주세요.

File attachments: 
첨부파일 크기
Image icon ipc.jpg22.28 KB
bw001730의 이미지

파이프나 FIFO 를 사용해보세요
왠만한 시스템 프로그래밍 책에 다 나옵니다

qosqos의 이미지

UDS소켓으로 해야 하거든요.

그런데 소켓은 서버 클라이언트 모델밖에 안되는 건가요?

그럼 1:1 채팅 프로그램(소스를 못구하겠어요.) 은 어떻게 되는 건가요?

부디 답변 좀 부탁드려요...

nthroot의 이미지

IPC, RPC, PIPE, Named PIPE, Shared Memory, Message

두 프로세스의 관계에 따라서 선택할수 있습니다.

1. 부모와 자식간의 통신
2. 한 머신내의 다른 프로세스그룹간의 통신
3. 다른 머신간의 통신

주고 받을 데이터의 종류에 따라서 또 다르겠죠.

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

nthroot의 이미지

UDS도 socket API 그냥 쓰시면 됩니다.

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

nthroot의 이미지

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

nthroot의 이미지

qosqos wrote:

select함수를 써서 readfd, writerfd를 선택하게 해도 되나요?
아니면 아예 스레드를 나눠서 read thread, write thread로 해야 하나요?

둘다 빙고~

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

댓글 달기

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