为什么python写的客户端向服务端发文件报错errno:10061错误,在linux客户端上没有问题,windows有问题。
defsendLog(self,topic,filename):try:client=KafkaClient(self.kafkaHost,self.kafkaPort)...
def sendLog(self, topic, filename):
try:
client = KafkaClient(self.kafkaHost, self.kafkaPort)
producer = SimpleProducer(client, topic)
f = open(filename, 'rb')
fname = path.basename(f.name)
ftext = f.read()
producer.send_messages(self.fixLen(fname,30)+ftext)
f.close()
client.close()
print "kafka sent "+filename
except Exception, ex:
print ex
def handler(data):
logClient = LogClient(host, port)
logClient.sendLog('tonghuashun', path.join('/home/hadoop/tonghuashun/', '20140419.log'+".log"))
handler是用来向服务端发文件的,上面是linux本身既是客户端也是服务端,能够发送。
但是改成在windows上就不行了,
def handler(data):
logClient = LogClient(host, port)
logClient.sendLog('tonghuashun', path.join('F:\test\tonghuashun', '20140421.log'))
linux是VMware装的虚拟机。
关键问题是windows上客户端程序启动的时候,显示是已连接,但是sendLog方法调用时就报10061的错误了,不知道什么原因,linux虚拟机和windows互相能ping通!!!
求大神啊!!!! 展开
try:
client = KafkaClient(self.kafkaHost, self.kafkaPort)
producer = SimpleProducer(client, topic)
f = open(filename, 'rb')
fname = path.basename(f.name)
ftext = f.read()
producer.send_messages(self.fixLen(fname,30)+ftext)
f.close()
client.close()
print "kafka sent "+filename
except Exception, ex:
print ex
def handler(data):
logClient = LogClient(host, port)
logClient.sendLog('tonghuashun', path.join('/home/hadoop/tonghuashun/', '20140419.log'+".log"))
handler是用来向服务端发文件的,上面是linux本身既是客户端也是服务端,能够发送。
但是改成在windows上就不行了,
def handler(data):
logClient = LogClient(host, port)
logClient.sendLog('tonghuashun', path.join('F:\test\tonghuashun', '20140421.log'))
linux是VMware装的虚拟机。
关键问题是windows上客户端程序启动的时候,显示是已连接,但是sendLog方法调用时就报10061的错误了,不知道什么原因,linux虚拟机和windows互相能ping通!!!
求大神啊!!!! 展开
2个回答
展开全部
你好,虽然没有出错的log,建议:
print一下中间的结果,看看出错在哪个地方,就是debug;
用try语句,捕捉错误,定位下。
print一下中间的结果,看看出错在哪个地方,就是debug;
用try语句,捕捉错误,定位下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询