서로다른 프로그램간의 통신

kimdy123의 이미지

앞으로 서로 다른 프로그램간의 간단한 데이타를 주고받은 일을 할것같습니다.
간단하게 서로 다른 두 프로그램간에 string을 주고 받은 예제 프로그램들
얻고 싶은데 좀 도와주세요 여기에 관련된 사이트를 링크 시켜주셔요 감사드리고요
그리고 서로 다른 프로그램간에 스트링이 아닌 graph build해놓은것을
주고 받고 싶은데 그것도 가능한가요. 그럼 읽어주셔서 감사드립니다.
그럼 좋은 하루 그리고 좋은 주말 되세요..
읽어 주셔서 감사드립니다.

pynoos의 이미지

같은 호스트상에서 프로세스간 통신하는 것을 IPC 라고 합니다. (Inter-Process-Communication) 다양한 방법이 있지요...

님의 글을 보니 string과 graph를 동시에 전달해야할 것같은데, 그런 환경이라면, memory를 공유(shared memory;shm)하는 것이 좋을 것 같습니다.

shared memory를 사용할 때는 semaphore를 같이 사용해야합니다.

shared memory와 semaphore를 사용하는 예제를 찾아 보세요. Stevens 책에도 있을 거 구요. 음... google에서 찾아보니...

http://www.cs.cf.ac.uk/Dave/C/node27.html

괜찮군요.

또 다른 방법으로는 Memory Mapped File(mmap)을 사용하는 것도 괜찮습니다.
File을 마치 Memory 처럼 사용하는 것이지요. 그 File을 공유하기도 하구요.
이 경우에는 File Lock이 있기 때문에 semaphore는 사용하지 않을 수도 있습니다. 또 주의할 점은 memory mapped file은 IPC로는 크게 환영 받지 않습니다. 원래 출발이 IPC를 위해서 나온 것이 아니기 때문이죠.

man mmap, munmap, msync 를 찾아보세요..

이상과 같은 방법이 아니라면... string을 stream으로 전달하는 것처럼 graph를 전달하실려면.. serialize를 하셔서, 모든 구조체가 stream으로 상호 변환 할 수 있도록 변환 함수를 작성하셔야 합니다.

purewell의 이미지

삽질 중 하나로

소켓을 이용하는 방법도... ㅋㅋㅋ

소켓도 프로세서 간의 통신 방법 중에 하나라오...

_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz

송지석의 이미지

purewell wrote:
삽질 중 하나로

소켓을 이용하는 방법도... ㅋㅋㅋ

소켓도 프로세서 간의 통신 방법 중에 하나라오...

예를 좀만 들어주세욥 제가 알기론 e동키도 그렇게 해서 코어랑 UI랑 통신한다는데 어떻게 하는 지.. 제 생각엔 퍼포먼스측면에서 많이 떨어지지 않는다면 상당히 좋을 것 같습니당.. 로컬에서도 제어되고 원격으로도 제어되고..

skjk의 이미지

통신이 복잡해지는 경우 UNIX Domain Socket을 이용하는 것도 좋은 방법입니다.

BSD Socket과 인터페이스가 비슷하므로 사용하기도 쉽고 Network버젼으로 컨버젼하기도 쉽지요.

X-Window도 local컴퓨터와는 UNIX Domain Socket을 통해 통신하지요.

댓글 달기

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