Erlang에 간단한 채팅 서버를 썼는데 (소켓이나 포트없이, 여러 쉘 사이에 메시지를 보낼 때), 시뮬레이션을 시도 할 때 몇 가지 문제가 있습니다. 내 구현의 거의 모든 클라이언트 기능 (예 : pm, say_to_all)에는 Chat_server-s 프로세스 ID가 필요합니다. 하나의 셸에서 chat_server와 client를 열면 chat_server의 프로세스 ID를 쉽게 바인딩 할 수 있으며 필요한 경우 액세스 할 수 있지만 클라이언트 용 다른 셸을 열려고 할 때 문제가 발생합니다. 그림을 보면 ->http://s018.radikal.ru/i501/1308/ee/a194aa8486ae.png 두 번째 셸 (chat_client)의 1-st shell (chat_server)에서 프로세스에 액세스하는 방법은 무엇입니까?Erlang-Pid 컨트롤
0
A
답변
1
서버를 특정 이름 (http://erlang.org/doc/man/global.html#register_name-2)으로 전세계에 등록 할 수 있습니다. 그렇게하면 chatsystem 내의 모든 쉘에서 서버에 액세스 할 수 있습니다.
쉘에 net_adm : ping을 먼저 연결해야만 쉘에 전역 적으로 등록 된 이름을 알릴 수 있습니다.
그리고 정말 클라이언트 - 서버 구조를 구성하려고 할 때 도움이 될 수 있으므로 gen_server (http://www.erlang.org/doc/man/gen_server.html)을 살펴 보는 것이 좋습니다.
편집 : 죄송합니다. 문제에 대한 설명을 원할 수도 있습니다. 이것은 모든 erlang-shell이 자신의 변수 등으로 자신의 환경을 가지고 있기 때문입니다. 즉, 두 번째 쉘은 다른 쉘의 변수를 알지 못합니다.
관련 문제
- 1. 컨트롤 내에서 컨트롤 바인딩하기
- 2. 컨트롤 내의 mvc3 컨트롤
- 3. 참조 컨트롤 컨트롤 내
- 4. 동적 컨트롤 사용자 컨트롤
- 5. 컨트롤
- 6. 컨트롤 '사용자 정의 컨트롤 이름'을
- 7. 다른 컨트롤 자식에서 컨트롤 업데이트
- 8. 서버 컨트롤 또는 HTML 컨트롤
- 9. 반복적으로 이름 컨트롤 (VB.NET) 컨트롤
- 10. WinForms : ListView 컨트롤 표시 컨트롤
- 11. 컨트롤에 인덱싱 컨트롤 탭 컨트롤
- 12. ASP.net 서버 컨트롤 : 동적 컨트롤
- 13. 컨트롤 배치에 대한 추악한 컨트롤
- 14. 다른 컨트롤 앞에 컨트롤 삽입
- 15. 컨트롤 안에 컨트롤 가져 오기
- 16. 탭 컨트롤 WPF 사용자 컨트롤
- 17. 부모 컨트롤 경계 밖의 사용자 컨트롤 내부에 컨트롤 표시
- 18. wpf items 컨트롤 외부 컨트롤 항목
- 19. asp.net 사용자 컨트롤 - 업로드 이미지 컨트롤
- 20. Silverlight 3 - 항목 내의 컨트롤 찾기 컨트롤
- 21. 사용자 정의 컨트롤 내에서 컨트롤 재사용
- 22. 축소 컨트롤 지금 WindowsXP 컨트롤 패널에서
- 23. jQuery로 ASP.NET 컨트롤. 특정 컨트롤 버전
- 24. asyncpostbacktrigger 컨트롤 내의 포스트 백 트리거 컨트롤?
- 25. 컨트롤 안에 JavaFX 2.0 렌더링 컨트롤
- 26. C# : 사용자 지정 컨트롤 대 네이티브 컨트롤
- 27. asp.net 차트 컨트롤 및 microsoft 차트 컨트롤
- 28. IE 웹 컨트롤 바꾸기 다중 페이지 컨트롤
- 29. HTML 컨트롤 및 asp.net 웹 컨트롤
- 30. 정적 컨트롤 대 동적 컨트롤 + 상황 기반
감사합니다. erlang 전역 모듈이 매우 도움이되었습니다. 이제는 코드가 작동합니다. –
다행입니다. 도움이 될 수 있습니다. –