亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2719 | 回復(fù): 6
打印 上一主題 下一主題

sun rpc的一個(gè)問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-09-22 17:44 |只看該作者 |倒序?yàn)g覽
10可用積分
自己不大熟悉rpc,但是現(xiàn)在需要維護(hù)別人寫的程序,在寫一個(gè)監(jiān)控程序的時(shí)候遇到問題了,希望大家能幫我解決一下。

問題具體表現(xiàn)為:
clnt_create建立rpc連接的時(shí)候,當(dāng)指定PROG NUM的程序沒有在server跑起來,就導(dǎo)致client端一直嘗試連接直至timeout。
但是當(dāng)我指定一個(gè)server端不存在的PROG NUM試圖建立連接的時(shí)候,卻立刻返回連接失敗。

我想知道的是這兩次有什么區(qū)別?為什么一個(gè)要等到超時(shí)一個(gè)卻能立刻返回失。考偃缈赡艿脑,提供一個(gè)好的監(jiān)控rpc的server端進(jìn)程的方法。

謝謝大家。

最佳答案

查看完整內(nèi)容

Linux內(nèi)核的sunrpc實(shí)現(xiàn), RPC和prog是作為一個(gè)整體的, 并不是說rpc單獨(dú)起, prog再單獨(dú)起. 在代碼中, prog調(diào)用rpc的函數(shù), 接收請求.rpc程序的主循環(huán)一般結(jié)構(gòu)是:while(1){ request = svc_recv(); svc_process(request);}根本不存在: XX(樓主所指的某個(gè)東西)起了, 但prog沒起.

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-09-22 17:44 |只看該作者
原帖由 leicc 于 2009-9-22 19:37 發(fā)表

我的理解是服務(wù)器里會為所有的prog起一個(gè)(或一組)進(jìn)程,這個(gè)(組)進(jìn)程監(jiān)聽111端口的請求,根據(jù)各個(gè)請求的PROG NUM來區(qū)分調(diào)用的是哪個(gè)PROG,不只對否?

假如我理解的沒問題的話,那這個(gè)PROG的程序沒起跟 ...

Linux內(nèi)核的sunrpc實(shí)現(xiàn), RPC和prog是作為一個(gè)整體的, 并不是說rpc單獨(dú)起, prog再單獨(dú)起. 在代碼中, prog調(diào)用rpc的函數(shù), 接收請求.

rpc程序的主循環(huán)一般結(jié)構(gòu)是:

while(1){
    request = svc_recv();
    svc_process(request);
}

根本不存在: XX(樓主所指的某個(gè)東西)起了, 但prog沒起.

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2009-09-22 18:39 |只看該作者
原帖由 leicc 于 2009-9-22 17:44 發(fā)表
我想知道的是這兩次有什么區(qū)別?為什么一個(gè)要等到超時(shí)一個(gè)卻能立刻返回失?

前者是網(wǎng)絡(luò)錯(cuò)誤, 客戶端會多嘗試幾次. 如果prog不存在, 服務(wù)器端會返回出錯(cuò)代碼, 是業(yè)務(wù)錯(cuò)誤, 客戶端會立即告訴使用者(人).

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2009-09-22 19:37 |只看該作者
原帖由 ideawu 于 2009-9-22 18:39 發(fā)表

前者是網(wǎng)絡(luò)錯(cuò)誤, 客戶端會多嘗試幾次. 如果prog不存在, 服務(wù)器端會返回出錯(cuò)代碼, 是業(yè)務(wù)錯(cuò)誤, 客戶端會立即告訴使用者(人).

我的理解是服務(wù)器里會為所有的prog起一個(gè)(或一組)進(jìn)程,這個(gè)(組)進(jìn)程監(jiān)聽111端口的請求,根據(jù)各個(gè)請求的PROG NUM來區(qū)分調(diào)用的是哪個(gè)PROG,不只對否?

假如我理解的沒問題的話,那這個(gè)PROG的程序沒起跟指定一個(gè)無效的PROG NUM應(yīng)該是一回事?

還請?jiān)賻徒饣笠幌?img src="static/image/smiley/default/icon_mrgreen.gif" smilieid="69" border="0" alt="" />

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2009-09-23 09:33 |只看該作者
客戶端需要知道怎么把函數(shù)的參數(shù)pack過去,怎么把返回值unpack回來。對于不清楚怎么pack和unpack自然會出錯(cuò)的吧。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2009-09-23 09:40 |只看該作者
原帖由 pagx 于 2009-9-23 09:33 發(fā)表
客戶端需要知道怎么把函數(shù)的參數(shù)pack過去,怎么把返回值unpack回來。對于不清楚怎么pack和unpack自然會出錯(cuò)的吧。

現(xiàn)在就是在建立連接的時(shí)候問題,還沒涉及到函數(shù)調(diào)用

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2009-09-23 17:08 |只看該作者
原帖由 ideawu 于 2009-9-22 17:44 發(fā)表

Linux內(nèi)核的sunrpc實(shí)現(xiàn), RPC和prog是作為一個(gè)整體的, 并不是說rpc單獨(dú)起, prog再單獨(dú)起. 在代碼中, prog調(diào)用rpc的函數(shù), 接收請求.

rpc程序的主循環(huán)一般結(jié)構(gòu)是:

while(1){
    request = svc_recv();
...

這個(gè)問題似乎還是不大理解,不過暫時(shí)不在這糾纏了,繞過去把現(xiàn)在問題解決了先。謝謝熱心解答
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP