我已經在Erlang中編寫了一個簡單的聊天服務器(沒有任何套接字或端口,只是在多個shell之間的消息之間),但是當我嘗試模擬它時,我遇到了一些問題。 在我的實現中,幾乎每個客戶端函數(如pm,say_to_all)都需要Chat_server-s進程ID。 如果我在一個shell中打開chat_server和client,我可以很容易地綁定chat_server的進程ID並在必要時訪問它,但是當我想爲客戶端打開另一個shell時會出現問題。 看圖片 - >http://s018.radikal.ru/i501/1308/ee/a194aa8486ae.png 如何從第二個shell(chat_client)從第一個shell(chat_server)訪問進程?Erlang-Pid控件
0
A
回答
1
您可以使用某個名稱在全球註冊您的服務器(http://erlang.org/doc/man/global.html#register_name-2)。這樣,您可以從聊天系統中的任何shell訪問服務器。
不要忘記,您需要首先使用net_adm:ping連接shell,讓shell知道全局註冊的名稱。
我真的可以建議尋找gen_server(http://www.erlang.org/doc/man/gen_server.html),因爲它可以真正幫助組織客戶端服務器結構。
編輯: 對不起,也許您還想要解釋您的問題。 這是因爲每個erlang-shell都有自己的變量等。這意味着第二個shell不知道其他shell的變量。
相關問題
- 1. 控件內控件
- 2. Bootstrap控件組,控件類
- 3. 控制HTML控件
- 4. foreach SomePanel.Controls中的控件控件沒有獲得所有控件
- 5. 將控件從用戶控件移動到面板控件
- 6. 將控件添加到控件內部控件
- 7. createchildcontrol() - 用戶控件,自定義控件,網頁控件
- 8. C#,用戶控件,事件 - 用戶控件的控件事件覆蓋?
- 9. 帶控件的動畫控件iOS
- 10. WebBrowser控件中的控件樣式
- 11. CakePHP窗體與TwitterBoostrap(控件控件行)
- 12. 用戶控件vs自定義控件
- 13. 在ListView控件中訪問TextBox控件
- 14. radcombobox控件內radgrid控件FormTemplate
- 15. asyncpostbacktrigger控件內的Postbacktrigger控件?
- 16. 服務器控件或HTML控件
- 17. ASP.NET複合控件與圖像控件
- 18. 在WindowsFormsHost控件中的Telerik RadPanorama控件
- 19. WPF綁定子控件的父控件
- 20. Html控件和asp.net網頁控件
- 21. 用戶控件中的動態控件
- 22. 將控件嵌入到MVVM控件中
- 23. 訪問窗體控件的子控件?
- 24. 控件可以OverLeap WebBrowser控件
- 25. ASP.Net訪問子控件FormView控件
- 26. JavaFX 2.0呈現控件內部控件
- 27. 用戶控件引用主要控件
- 28. 與asp.net控件和html控件混淆
- 29. 暴露用戶控件中的控件
- 30. 從WPF控件到Silverlight控件
非常感謝。 erlang全局模塊非常幫助我,現在我的代碼工作:) –
很高興我可以幫忙。 –