2014-01-22 102 views
0

我有一個用Powershell編寫的NamedPipe服務器和一個用Python編寫的NamedPipe客戶機。以下是我的NamedPipe客戶:IOError:[Errno 13]從Python NamedPipe讀取權限被拒絕

def namedpipeClient(): 
    print "Inside NamedPipeClient" 
    time.sleep(2) 
    f = open(r'\\x.x.x.x\pipe\testpipe', 'r+b', 0) 
    i = 1 
    n = struct.unpack('I', f.read(4))[0] # Read str length 
    s = f.read(n)       # Read str 
    f.seek(0)        # Important!!! 
    f.close() 
    print 'Read:', s 
    if (s is None): 
     return True 
    else: 
     return False 

我開始了NamedPipeServer在C#中的一臺機器,並在另一臺機器,我會通過批處理文件運行NamedPipeClient。下面是我的批處理文件runTest.bat

c: 
cd \Python27 
.\python D:\LoadTesting\SikuliNPClient.py 

所以這種方式運行沒有任何問題,執行的一切。

現在,如果我嘗試在同一臺機器上,但遠程從那裏我開始通過PSEXEC的NamedPipeServer機器執行相同的批處理文件,psexec \\$remoteMachine -i 0 -d Powershell D:\LoadTesting\runTest.bat批處理文件被執行,但在f = open(r'\\x.x.x.x\pipe\testpipe', 'r+b', 0)語句時,它拋出跟隨錯誤。

Inside NamedPipeClient 
Traceback (most recent call last): 
    File "D:\LoadTesting\SikuliNPClient.py", line 40, in <module> 
    namedpipeClient() 
    File "D:\LoadTesting\SikuliNPClient.py", line 9, in namedpipeClient 
    f = open(r'\\192.168.173.231\pipe\testpipe', 'r+b', 0) 
IOError: [Errno 13] Permission denied: '\\\\x.x.x.x\\pipe\\testpipe' 

我在兩臺機器上登錄,只有同一用戶也有管理員權限。 請幫我弄清楚我遇到的問題。

在此先感謝!

回答

0

我有這個問題,並從模式中刪除+像一個魅力工作。在你的情況下,而不是r+b嘗試rb。 希望它有幫助。