1
我想设置它,使属性“实例”是自动增量。我一直在寻找,但我也是新来的套接字编程,所以我可能一直在问错误的问题。最终目标是创建一个聊天室,可以识别谁在哪个组中。我一直在网上找到的所有教程都只能显示一个非常简单的套接字连接聊天室,而没有详细说明服务器应该如何区分不同的组。 我想我需要做到这一点的唯一的事情是让该变量而不是自动递增每个新用户加入每当有人新连接在我的扭曲套接字重置属性[python]
from twisted.internet.protocol import Factory, Protocol
from twisted.internet import reactor
import json
class IphoneChat(Protocol):
memberList={}
Instance = 1
def connectionMade(self):
print "a client connected"
self.factory.clients.append(self)
print self.Instance
self.Instance+=1
self.factory.clients[-1].message("Connection Success")
def connectionLost(self, reason):
self.factory.clients.remove(self)
def dataReceived(self, data):
json_decoded = json.loads(data)
Type=json_decoded[0]["type"]
groupID=json_decoded[0]["groupID"]
member=json_decoded[0]["member"]
print Type
if Type=="node":
print "Node recc"
elif Type=="create":
print "group created"
self.memberList[groupID]=[]
elif Type=="con":
print "Connection"
self.memberList[groupID].append(member)
elif Type=="dis":
print "Disconnect"
self.memberList[grouID].remove(member)
elif Type=="poll":
print "Poll"
elif Type=="comment":
print "Comment"
else :
print "unrecognized type"
a = data.split(':')
print a
if len(a) > 1 :
command = a[0]
content = a[1]
msg = ""
if command == 'iam' :
self.name = content
msg = self.name + "has joined"
elif command == "msg" :
msg = self.name + ": " + content
print msg
for c in self.factory.clients:
c.message(msg)
def message(self, message):
self.transport.write(message +"\n")
我还有一点想弄明白,但我给你最好的答案,让我看看我在概念上出错的地方,我想我可以从这里算出来,谢谢一堆! – DanHabib 2014-12-03 04:48:07