Example #1
0
 def __init__(self, pidFile):
     """
     Constructor
     
     @param pidFile filename of the PID file used to record some interface
         informations
     """
     addr = QHostAddress()
     addr.setAddress(SAAddress)
     QTcpServer.__init__(self)
     
     self.saFile = os.path.join(Utilities.getConfigDir(), pidFile)
     if self.listen(addr, 0):
         try:
             f = open(self.saFile, "wb")
             
             try:
                 f.write("%s = %d%s" % \
                     (SALckPID, os.getpid(), os.linesep))
             except AttributeError:
                 pass
             
             f.write("%s = %d%s" % \
                 (SALckSocket, self.serverPort(), os.linesep))
             
             f.close()
         except IOError, msg:
             print "Error writing Lockfile: %s\n" % msg
         self.connect(self, SIGNAL("newConnection()"), self.__newConnection)
Example #2
0
    def __init__(self, hostname, port):
        super(RobotVisClient, self).__init__()

        self._hostname = QHostAddress(hostname)
        self._port = port

        self._logger = logging.getLogger("vis_client")
        self._logger.debug("hostname: %s" % (hostname))
Example #3
0
	def __init__(self, parent):
		QThread.__init__(self, parent)

		self.prnt = parent
		self.udp = QUdpSocket()
		addr = QHostAddress(QHostAddress.Any)
		print 'bind to:', addr.toString()
		self.udp.bind(addr, 34001)
		self.udp.error.connect(self.errorAnalyser)
		self.udp.readyRead.connect(self.readUdp)
		print "Binding..."
		self.STOP = False
		self.locker = QMutex()
Example #4
0
	def readUdp(self):
		while ( self.udp.hasPendingDatagrams() ):
			data = QByteArray()
			addr = QHostAddress()
			port = 0
			try :
				datagramSize = self.udp.pendingDatagramSize()
				if datagramSize > 0 :
					(data, addr, port) = self.udp.readDatagram(datagramSize)
					#print "Datagram: [%s] from %s:%i" % (QString().fromUtf8(data), addr.toString(), port)
					self.prnt.contactMessage.emit(QString().fromUtf8(data), addr.toString())
			except socket.error, err :
				print '[in readUdp() UdpClient] SocketError1 : ', err
			except socket.timeout, err :
				print '[in readUdp() UdpClient] SocketError2 : ', err
Example #5
0
    def open(self,options):
        self.options = options
        self.tcpSocket = QTcpSocket()
        # try to connect to the server
        self.tcpSocket.connectToHost(QHostAddress("0.0.0.0"), 5006)
        self.tcpSocket.waitForConnected(2000)

        if self.tcpSocket.state() != 3:
            self._launchWindow()
            #thread.start_new_thread(self._launchWindow,(xres,yres))
            QObject.connect(self.tcpSocket, SIGNAL("connected()"), self.tcpSocketConnected)

            #print "connecting now"
            while self.tcpSocket.state() != 3:
                self.tcpSocket.connectToHost(QHostAddress("0.0.0.0"), 5006)
                self.tcpSocket.waitForConnected(5000)
Example #6
0
 def handle_SendNatPacket(self, msg):
     target, message = msg['args']
     host, port = target.split(':')
     if self.state is None and self._socket.localPort() == self._port:
         self._socket.randomize_port()
     self._socket.writeDatagram(b'\x08' + message.encode(),
                                QHostAddress(host), int(port))
Example #7
0
    def __init__(self, hostname, port):
        super(RobotVisClient, self).__init__()

        self._hostname = QHostAddress(hostname)
        self._port = port

        self._logger = logging.getLogger("vis_client")
Example #8
0
 def unsubscribe(self):
     logger.info("unsubscribe")
     msg = OSCMessage("/unsubscribe")
     msg.appendTypedArg(self.args.client_host, "s")
     msg.appendTypedArg(self.args.client_port, "i")
     msg.appendTypedArg(self.args.authenticate, "s")
     self.osc_sock.writeDatagram(QByteArray(msg.encode_osc()), QHostAddress(self.args.chaosc_host),
                                 self.args.chaosc_port)
Example #9
0
 def sendto(self, data, address):
     if address in self.bindings.values():
         self._logger.debug("Sending to {} through relay".format(address))
         self._session.send_to(data, address)
     else:
         host, port = address
         self._logger.debug("Sending to {} directly".format(address))
         self.writeDatagram(data, QHostAddress(host), port)
Example #10
0
 def send(self, data, receivers=None):
     L().debug('message to udp %s: %s'%(receivers,data))
     data = data.decode('utf8')
     if receivers:
         for receiver in receivers:
             self.socket.writeDatagram(data, QHostAddress(receiver), self.port)
     else:
         self.socket.writeDatagram(data, QHostAddress.Broadcast, self.port)
Example #11
0
 def __init__(self):
     super(PsyQtChaoscClientBase, self).__init__()
     self.osc_sock = QUdpSocket(self)
     logger.info("osc bind localhost %d", self.args.client_port)
     self.osc_sock.bind(QHostAddress(self.args.client_host),
                        self.args.client_port)
     self.osc_sock.readyRead.connect(self.got_message)
     self.osc_sock.error.connect(self.handle_osc_error)
     self.subscribe()
Example #12
0
 def try_connect(self, host, port):
     if host == 'localhost':
         host = '127.0.0.1'
     host = QHostAddress(host)
     if host != self._host:
         self._tcp.set_host(host)
         self._udp.set_host(host)
         self._host = host
     self._port = port
     self.begin()
Example #13
0
 def __init__(self, parent = None):
     QTcpServer.__init__(self, parent)
     settings = QSettings()
     self.parent = parent
     # We just assume everything is going fine, gui should do the check here like this:
     # if tcpServer.isListening():
     self.listen(QHostAddress(QHostAddress.Any),
     settings.value("server/port", QVariant(5006)).toInt()[0])
     self.sockets= {}
     QObject.connect(self,SIGNAL("newConnection()"),self.handleIncomingConnection)
Example #14
0
    def __init__(self, parent=None):
        QWidget.__init__(self)

        self.socket = _s = QTcpSocket()
        _s.setSocketOption(QTcpSocket.LowDelayOption,
                           1)  #Disable the Nagle Algorithm
        _s.connected.connect(self._connected)
        _s.connectToHost(QHostAddress(argv[1]), int(argv[2]))
        if not _s.waitForConnected(5000):
            print "Failed!"
            _s.close()
Example #15
0
 def connectDevice(self):
     result = False
     if self.host is None:
         result = self.iodevice.bind(self.port)
     else:
         ha = QHostAddress(self.host)
         result = self.iodevice.bind(ha, self.port)
     if result is False:
         if self.reconnect > 0:
             QTimer.singleShot(self.reconnect, self.onReconnectTimer)
     else:
         self.deviceConnected.emit(True)
Example #16
0
 def __init__(self, host, port):
     super().__init__()
     self._host = QHostAddress(host)
     self._port = port
     self._log = logging.getLogger('pod')
     self._tcp = TcpClient(self._host)
     self._udp = UdpServer(self._host)
     self._filter = Filter()
     self._tcp.packet.connect(self._filter)
     self._tcp.connected.connect(self.connected.emit)
     self._udp.datagram.connect(self._filter)
     self.add_listener(reply_tag('port', 'udp'), self._udp.try_connect)
Example #17
0
    def start_relay_test(self, address):
        self.addr = address
        self._logger.info("Starting relay test")
        self._socket.data.connect(self.receive)
        self._socket.permit(self.addr)

        self.start_time, self.end_time = time.time(), None
        host, port = self.addr
        self.host, self.port = QHostAddress(host), port

        self._sent = 0
        self.received = set()
        self._sendtimer.start(20)

        end_timer = QTimer()
        end_timer.singleShot(10000, self.end)
Example #18
0
    def __init__(self, args, parent=None):
        self.args = args
        QMainWindow.__init__(self, parent)
        self.mcount = 0

        self.osc_sock = QUdpSocket(self)
        logger.info("osc bind localhost %d", self.args.client_port)
        self.osc_sock.bind(QHostAddress(self.args.client_host), self.args.client_port)
        self.osc_sock.readyRead.connect(self.got_message)
        self.osc_sock.error.connect(self.handle_osc_error)
        self.subscribe()

        self.plot_widget = PlotWidget()
        self.setCentralWidget(self.plot_widget)
        self.resize(args.client_width, args.client_height)
        colors = ["r", "g", "b"]
        self.active_actors = list()
        self.actors = dict()
        self.max_value = 255
        actor_names = ["merle", "uwe", "bjoern"]
        self.max_actors = len(actor_names)
        self.actor_height = self.max_value / self.max_actors
        self.fps = 12.5
        self.num_data = 100
        self.plot_widget.showGrid(False, False)
        self.plot_widget.setYRange(0, 255)
        self.plot_widget.setXRange(0, self.num_data)
        self.plot_widget.resize(args.client_width, args.client_height)

        bottom_axis = self.plot_widget.getAxis("bottom")
        left_axis = self.plot_widget.getAxis("left")
        bottom_axis.setTicks([])
        left_axis.setTicks([])
        bottom_axis.hide()
        left_axis.hide()

        for ix, (actor_name, color) in enumerate(zip(actor_names, colors)):
            self.add_actor(actor_name, self.num_data, color, ix, self.max_actors, self.actor_height)

        self.set_positions()
        self.ekg_regex = re.compile("^/(.*?)/ekg$")
        self.heartbeat_regex = re.compile("^/(.*?)/heartbeat$")

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.render_image)
        self.timer.start(50)
Example #19
0
 def startServer(self):    
     if self.status == self.STATUS[0]:   # Check if status is Offline
         if self.ipAddress is None:
             self.ipAddress = QHostAddress(self.mainWidget.hostCombo.currentText())
         self.server.listen(self.ipAddress, PORT)    
         self.status = self.STATUS[1]    # Set Running            
         self.mainWidget.hostCombo.setEnabled(False)
         logging.info("Started server %s: %s", self.server.serverAddress().toString(), str(self.server.serverPort()))
         
     elif self.status == self.STATUS[1]:      # Check if status is Online
         self.server.close()
         self.status = self.STATUS[0]         # Set status Offline
         self.disconnectAllClients()
         self.mainWidget.hostCombo.setEnabled(True)
         self.ipAddress = None
         
     self.updateStatus(self.status)
     self.setPassPhrase()
     self.setConnectionLabel()
     self.retranslate()
Example #20
0
    def StartServer(self):
        self.host = "localhost"
        self.port = int(self.ui.port_Edit.text())
        self.ui.inbuffer_Edit.append("ServerStart on port:" + str(self.port))

        self.timestamp = datetime.datetime.now()
        self.tcpServer = QTcpServer(self)
        self.tcpServer.listen(QHostAddress(self.host), self.port)
        curtime = datetime.datetime.now()
        delta = curtime - self.timestamp
        self.time_delta = delta.total_seconds()

        self.scanman.ui.fitGroupBox.fittedsignal.connect(self.GetCurrent)

        self.connections = []
        self.connect(self.tcpServer, qtCore.SIGNAL("newConnection()"),
                     self.addConnection)
        self.ui.status_Edit.setText("On")

        True
Example #21
0
class RobotVisClient(QUdpSocket):

    def __init__(self, hostname, port):
        super(RobotVisClient, self).__init__()

        self._hostname = QHostAddress(hostname)
        self._port = port

        self._logger = logging.getLogger("vis_client")

    def send_update(self, vis_update):
        if self._logger.isEnabledFor('DEBUG'):
            self._logger.debug("Sending VisState message, host: %s, port: %d" % (self._hostname.toString(), self._port))

        try:
            str_data = cPickle.dumps(vis_update)

            if self.writeDatagram(str_data, self._hostname, self._port) < 0:
                self._logger.error("Error sending VisState message: %s" % (self.errorString(), ))

        except cPickle.PickleError as e:
            self._logger.error("PickleError: %s" % (e, ))
Example #22
0
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)

        self.setWindowTitle("UDP Transmit")
        self.setWindowIcon(QIcon('g-square.png'))

        self.us=QUdpSocket(self)
        self.host=QHostAddress(QHostAddress.LocalHost)
        self.port=5000

        self.us.bytesWritten.connect(self.udpSent)

        send=QPushButton("&Send")
        send.clicked.connect(self.udpSend)

        self.datagram=QLineEdit()
        self.datagram.returnPressed.connect(self.udpSend)

        l=QVBoxLayout()
        l.addWidget(self.datagram)
        l.addWidget(send)

        self.setLayout(l)
Example #23
0
 def start_server(self):
     self.progressBar.setVisible(True)
     self.progressLbl.setVisible(True)
     self.progressBar.setValue(2)
     if self.check_parameters() != 1:
         self.progressLbl.setText("Connecting...")
         self.progressBar.setValue(5)
         self.set_box_disabled()
         if (self.startServer.text() == "Connect"):
             self.server = QUdpSocket()
             error = self.server.bind(QHostAddress(self.hostIp.text()), self.hostPort.value())
             if (error == True):
                 self.update_my_status_online()
                 self.timer.start(3000)
                 self.timer_clientCheck.start(4000)
                 self.progressBarTimer.start(100)
                 self.timer2.setSingleShot(True)
                 self.timer2.start(300)
                 QtCore.QObject.connect(self.server, QtCore.SIGNAL('readyRead()'), self.read_message)
                 self.startServer.setText("Disconnect")
             elif (error == False):
                 self.info_box("Connection refused", "The Host Address or Host Port are currently unavailable.")
                 self.progressBar.setValue(10)
                 self.progressLbl.setText("Connecting failed!")
                 self.set_box_enabled()
         elif (self.startServer.text() == "Disconnect"):
             self.update_my_status_offline()
             self.server.close()
             self.set_box_enabled()
             self.startServer.setText("Connect")
             self.label_3.setText("")
             self.progressBarTimer.stop()
             self.timer2.stop()
             self.timer.stop()
             self.progressBar.setVisible(False)
             self.progressLbl.setVisible(False)
             self.timer_clientCheck.stop()
Example #24
0
class RobotVisClient(QUdpSocket):
    def __init__(self, hostname, port):
        super(RobotVisClient, self).__init__()

        self._hostname = QHostAddress(hostname)
        self._port = port

        self._logger = logging.getLogger("vis_client")
        self._logger.debug("hostname: %s" % (hostname))

    def send_update(self, vis_update):
        if self._logger.isEnabledFor('DEBUG'):
            self._logger.debug("Sending VisState message, host: %s, port: %d" %
                               (self._hostname.toString(), self._port))

        try:
            str_data = cPickle.dumps(vis_update)

            if self.writeDatagram(str_data, self._hostname, self._port) < 0:
                self._logger.error("Error sending VisState message: %s" %
                                   (self.errorString(), ))

        except cPickle.PickleError as e:
            self._logger.error("PickleError: %s" % (e, ))
Example #25
0
class MainWindow(QtGui.QWidget):
    def __init__(self):
        super(MainWindow, self).__init__()

        self.serverIP = QHostAddress()
        self.port = 8010

        self.super_Vlayout = QtGui.QVBoxLayout()

        # value_layout
        self.value_layout = QtGui.QHBoxLayout()
        self.speed_value_lable = QtGui.QLabel(u"速度(step/s):")
        self.speed_value_text = QtGui.QLineEdit()
        self.step_value_lable = QtGui.QLabel(u"    步值(step):")
        self.step_value_text = QtGui.QLineEdit()
        self.value_layout.addWidget(self.speed_value_lable)
        self.value_layout.addWidget(self.speed_value_text)
        self.value_layout.addWidget(self.step_value_lable)
        self.value_layout.addWidget(self.step_value_text)

        # send_layout
        self.send_layout = QtGui.QHBoxLayout()
        self.send_button = QtGui.QPushButton(u"发送")
        self.send_button.setEnabled(False)
        self.send_button.setFixedWidth(100)
        self.send_layout.addStretch()
        self.send_layout.addWidget(self.send_button)
        self.send_layout.addStretch()

        # ip_layout
        self.ip_layout = QtGui.QHBoxLayout()
        self.ip_lable = QtGui.QLabel(u"IP地址: ")
        self.ip_value_text = QtGui.QLineEdit("192.168.1.128")
        self.ip_layout.addWidget(self.ip_lable)
        self.ip_layout.addWidget(self.ip_value_text)

        # port_layout
        self.port_layout = QtGui.QHBoxLayout()
        self.port_lable = QtGui.QLabel(u"端口号: ")
        self.port_value_text = QtGui.QLineEdit("8080")
        self.port_layout.addWidget(self.port_lable)
        self.port_layout.addWidget(self.port_value_text)

        # connect_layout
        self.connect_layout = QtGui.QHBoxLayout()
        self.connect_button = QtGui.QPushButton(u"连接")
        self.connect_button.setFixedWidth(100)
        self.connect_layout.addStretch()
        self.connect_layout.addWidget(self.connect_button)
        self.connect_layout.addStretch()

        self.super_Vlayout.addLayout(self.value_layout)
        self.super_Vlayout.addLayout(self.send_layout)
        self.super_Vlayout.addLayout(self.ip_layout)
        self.super_Vlayout.addLayout(self.port_layout)
        self.super_Vlayout.addLayout(self.connect_layout)

        self.setLayout(self.super_Vlayout)
        self.setWindowTitle("Client")
        self.setGeometry(700, 300, 300, 300)

        self.my_tcp_socket = QtNetwork.QTcpSocket(self)

        self.set_signal()

    def set_signal(self):
        self.send_button.clicked.connect(self.send_button_Handler)
        self.connect_button.clicked.connect(self.connect_button_Handler)
        self.connect(self.my_tcp_socket, SIGNAL("connected()"), self.slotConnected)
        self.connect(self.my_tcp_socket, SIGNAL("disconnected()"), self.slotDisconnected)
        self.connect(self.my_tcp_socket, SIGNAL("readyRead()"), self.dataReceived)

    def send_button_Handler(self):
        msg = self.speed_value_text.text() + ":" + self.step_value_text.text()
        self.my_tcp_socket.writeData(msg.toUtf8())

    def connect_button_Handler(self):
        if self.connect_button.text() == u"连接":
            self.serverIP.setAddress(self.ip_value_text.text())
            self.my_tcp_socket.connectToHost(self.serverIP.toString(), int(self.port_value_text.text()))
        else:
            self.my_tcp_socket.disconnectFromHost()

    def dataReceived(self):
        while self.my_tcp_socket.bytesAvailable() > 0:
            length = self.my_tcp_socket.bytesAvailable()
            msg = QString(self.my_tcp_socket.read(length))
            msg = msg.fromUtf8(msg)
            # self.ListWidgetContent.addItem(msg.fromUtf8(msg))

    def slotConnected(self):
        self.send_button.setEnabled(True)
        self.connect_button.setText(u"断开连接")

        # self.PushButtonLeave.setText(self.tr(u"断开链接"))

        # msg = self.userName + ":" + self.tr("进入聊天室")
        # length = self.tcpSocket.writeData(msg.toUtf8())
        # if length != msg.toUtf8().length():
        #     return

    def slotDisconnected(self):
        self.send_button.setEnabled(False)
        self.connect_button.setText(u"连接")

    def paintEvent(self, e):

        qp = QPainter()
        qp.begin(self)
        self.drawLines(qp)
        qp.end()

    def drawLines(self, qp):
        # mySize = self.size()
        pen = QPen(Qt.black, 2, Qt.SolidLine)
        myLocation = self.geometry()
        pen.setWidth(1)
        pen.setStyle(Qt.CustomDashLine)
        pen.setDashPattern([1, 2, 1, 2])
        pen.setColor(QColor(55, 55, 55))
        qp.setPen(pen)
        qp.drawLine(0, myLocation.height()*0.4+4, myLocation.width(), myLocation.height()*0.4+4)
        qp.drawLine(0, myLocation.height()*0.4+3, myLocation.width(), myLocation.height()*0.4+3)
        qp.drawLine(0, myLocation.height()*0.4+2, myLocation.width(), myLocation.height()*0.4+2)
        pen.setWidth(3)
        pen.setDashPattern([1, 1, 1, 1])
        qp.setPen(pen)
        qp.drawLine(0, myLocation.height()*0.4-2, 5, myLocation.height()*0.4+3)
        qp.drawLine(0, myLocation.height()*0.4, 3, myLocation.height()*0.4+3)
        qp.drawLine(0, myLocation.height()*0.4+8, 5, myLocation.height()*0.4+3)
        qp.drawLine(0, myLocation.height()*0.4+6, 3, myLocation.height()*0.4+3)
        qp.drawLine(myLocation.width()-6, myLocation.height()*0.4+3, myLocation.width(), myLocation.height()*0.4-2)
        qp.drawLine(myLocation.width()-3, myLocation.height()*0.4+3, myLocation.width(), myLocation.height()*0.4)
        qp.drawLine(myLocation.width()-6, myLocation.height()*0.4+3, myLocation.width(), myLocation.height()*0.4+8)
        qp.drawLine(myLocation.width()-3, myLocation.height()*0.4+3, myLocation.width(), myLocation.height()*0.4+6)
Example #26
0
    def __init__(self, args, parent=None):
        self.args = args
        QtGui.QMainWindow.__init__(self, parent)

        self.osc_sock = QUdpSocket(self)
        logger.info("osc bind localhost %d", self.args.client_port)
        self.osc_sock.bind(QHostAddress(self.args.client_host),
                           self.args.client_port)
        self.osc_sock.readyRead.connect(self.got_message)
        self.osc_sock.error.connect(self.handle_osc_error)
        self.subscribe()

        self.graphics_view = QtGui.QGraphicsView(self)
        self.resize(640, 480)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Monospace"))
        font.setPointSize(12)
        font.setItalic(True)
        self.setFont(font)
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Light, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Midlight, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Dark, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Mid, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.BrightText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ButtonText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Shadow, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.AlternateBase,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 220))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ToolTipBase,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ToolTipText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Light, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Midlight,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Dark, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Mid, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.BrightText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ButtonText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Shadow, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.AlternateBase,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 220))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ToolTipBase,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ToolTipText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Light, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Midlight,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Dark, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Mid, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.BrightText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Shadow, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.AlternateBase,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 220))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ToolTipBase,
                         brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ToolTipText,
                         brush)
        self.graphics_view.setPalette(palette)
        self.graphics_view.setAutoFillBackground(False)
        self.graphics_view.setObjectName(_fromUtf8("graphics_view"))
        self.setCentralWidget(self.graphics_view)
        self.graphics_view.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.graphics_view.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.graphics_view.setRenderHint(QtGui.QPainter.Antialiasing, True)
        self.graphics_view.setFrameStyle(QtGui.QFrame.NoFrame)
        self.graphics_scene = QtGui.QGraphicsScene(self)
        self.graphics_scene.setSceneRect(0, 0, 640, 480)
        self.graphics_view.setScene(self.graphics_scene)
        self.default_font = QtGui.QFont("Monospace", 12)
        self.default_font.setStyleHint(QtGui.QFont.Monospace)
        self.default_font.setBold(True)
        self.graphics_scene.setFont(self.default_font)
        self.font_metrics = QtGui.QFontMetrics(self.default_font)
        self.line_height = self.font_metrics.height()
        self.setWindowTitle(_translate("MainWindow", "DumpGrabberMain", None))
        columns = 3
        self.column_width = 640 / columns
        self.text_storage = ExclusiveTextStorage(columns, self.default_font,
                                                 self.column_width,
                                                 self.line_height,
                                                 self.graphics_scene)
        self.text_storage.init_columns()
        self.regex = re.compile("^/(uwe|merle|bjoern)/(.*?)$")
        self.osc_sock.readyRead.connect(self.got_message)
        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.render_image)
        self.timer.start(100)
Example #27
0
    def __init__(self, parent=None):
        QTcpServer.__init__(self)

        self.newConnection.connect(self.handler)
        self.listen(QHostAddress(argv[1]), int(argv[2]))
Example #28
0
class ServerApp(FreeseerApp):
    
    STATUS = ["Offline",
              "Online"]

    status = STATUS[0]
    clients = []
    passPhrase = ''
    ipAddress = None
    
    def __init__(self):
        FreeseerApp.__init__(self)
        self.resize(400, 300)
        
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/freeseer/logo.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.setWindowIcon(icon)
        
        configdir = os.path.abspath(os.path.expanduser('~/.freeseer/'))
        self.logger = Logger(configdir)
        logging.info("Logger initialized")
        
        self.server = QTcpServer(self)
        logging.info("Starting Freeseer Server")
        
        # Setup Widget
        self.mainWidget = ControllerServerWidget()
        self.setCentralWidget(self.mainWidget)
        
        self.mainWidget.hostCombo.addItem(QtCore.QString("0.0.0.0"))
                
        #Connections
        self.connect(self.server, QtCore.SIGNAL('newConnection()'), self.acceptConnection)  
        self.connect(self.mainWidget.startButton, QtCore.SIGNAL('pressed()'), self.startServer)
        self.connect(self.mainWidget.hostCombo, QtCore.SIGNAL('currentIndexChanged(int)'), self.ipComboBoxHandler)
        self.connect(self.mainWidget.passEdit, QtCore.SIGNAL('textChanged(QString)'), self.onPassChanged)
        
        # Initialize Passphrase Field
        self.mainWidget.passEdit.setPlaceholderText("Passphrase required to start server")
        self.mainWidget.startButton.setEnabled(False)

        # Client Control
        self.connect(self.mainWidget.clientStartButton, QtCore.SIGNAL('pressed()'), self.sendRecordCommand)
        self.connect(self.mainWidget.clientStopButton, QtCore.SIGNAL('pressed()'), self.sendStopCommand)
        self.connect(self.mainWidget.clientDisconnectButton, QtCore.SIGNAL('pressed()'), self.disconnectClients)
        self.connect(self.mainWidget.clientList, QtCore.SIGNAL('itemSelectionChanged()'), self.updateClientButtons)
    
        self.load_settings()
        self.updateStatus(self.status)
        
    ###
    ### Translation Related
    ###
    def retranslate(self):
        self.setWindowTitle(self.uiTranslator.translate("ControllerServerApp", "Controller Server"))
        
        #
        # Reusuable Strings
        #
        self.serverStatusString = self.uiTranslator.translate("ControllerServerApp", "Server status")
        self.startServerString = self.uiTranslator.translate("ControllerServerApp", "Start Server")
        self.stopServerString = self.uiTranslator.translate("ControllerServerApp", "Stop Server")
        self.startRecordingString = self.uiTranslator.translate("ControllerServerApp", "Start Recording")
        self.stopRecordingString = self.uiTranslator.translate("ControllerServerApp", "Stop Recording")
        self.pauseRecordingString = self.uiTranslator.translate("ControllerServerApp", "Pause Recording")
        self.resumeRecordingString = self.uiTranslator.translate("ControllerServerApp", "Resume Recording")
        # --- End Reusable Strings
        
        #
        # Server Settings
        #
        self.mainWidget.toolBox.setItemText(0, self.uiTranslator.translate("ControllerServerApp", "Server Settings"))
        self.mainWidget.hostLabel.setText(self.uiTranslator.translate("ControllerServerApp", "IP Address"))
        self.mainWidget.portLabel.setText(self.uiTranslator.translate("ControllerServerApp", "Port"))
        self.mainWidget.passLabel.setText(self.uiTranslator.translate("ControllerServerApp", "Passphrase"))
        
        # Button
        if self.status == self.STATUS[0]:
            self.mainWidget.startButton.setText(self.startServerString)
        else:
            self.mainWidget.startButton.setText(self.stopServerString)
        # --- End Server Settings
        
        #
        # Control Clients
        #
        self.mainWidget.toolBox.setItemText(1, self.uiTranslator.translate("ControllerServerApp", "Control Clients"))
        self.updateClientButtons()
        self.mainWidget.clientDisconnectButton.setText(self.uiTranslator.translate("ControllerServerApp", "Disconnect"))
        # --- End Control Clients
        
    ###
    ### Server Methods
    ###
    def load_settings(self): 
        logging.info('Loading settings...')
        configdir = os.path.abspath(os.path.expanduser('~/.freeseer/'))
        self.config = Config(configdir)
        
        # Load default language.
        actions = self.menuLanguage.actions()
        for action in actions:
            if action.data().toString() == self.config.default_language:
                action.setChecked(True)
                self.translate(action)
                break
    
    def startServer(self):    
        if self.status == self.STATUS[0]:   # Check if status is Offline
            if self.ipAddress is None:
                self.ipAddress = QHostAddress(self.mainWidget.hostCombo.currentText())
            self.server.listen(self.ipAddress, PORT)    
            self.status = self.STATUS[1]    # Set Running            
            self.mainWidget.hostCombo.setEnabled(False)
            logging.info("Started server %s: %s", self.server.serverAddress().toString(), str(self.server.serverPort()))
            
        elif self.status == self.STATUS[1]:      # Check if status is Online
            self.server.close()
            self.status = self.STATUS[0]         # Set status Offline
            self.disconnectAllClients()
            self.mainWidget.hostCombo.setEnabled(True)
            self.ipAddress = None
            
        self.updateStatus(self.status)
        self.setPassPhrase()
        self.setConnectionLabel()
        self.retranslate()
        
    def updateStatus(self, status):
        self.mainWidget.statusLabel.setText("%s: %s" % (self.serverStatusString, status))
        
    def setConnectionLabel(self):
        text = "%s:%s" % (self.mainWidget.hostCombo.currentText(),
                          self.mainWidget.portEdit.text())
        self.mainWidget.settingsEdit.setText(text)

        if self.mainWidget.passEdit.text():
            self.mainWidget.settingsEdit.setText("%s@%s" % (self.mainWidget.passEdit.text(),
                                                            text))
        
    '''
    This function is for changing the passphrase. It saves the new passphrase in the self.passPhrase after encoding it.
    '''
    def setPassPhrase(self):
        self.passphrase = self.mainWidget.passEdit.text()
        logging.info ("Passphrase set to %s", self.passphrase)
        #self.passPhrase = base64.b64encode(self.passPhrase)
        self.passphrase = str(self.passphrase)
        self.passphrase = pwd_context.encrypt(self.passphrase)
        
    '''
    This function reads the passphrase sent from the client. It decodes the saved passphrase and the one that client sent and compares.
    Client is accepted if the passphrases match. Otherwise client is rejected
    '''  
    def readPassPhrase(self):
        client = QtCore.QObject.sender(self)
        message = client.read(client.bytesAvailable())   
        logging.info("Client said: %s", message)
        if pwd_context.verify(message, self.passphrase) is False:
            client.disconnectFromHost()
            logging.info("Client rejected")
        else:
            self.clients.append(client)
            self.updateList()
            logging.info("Client accepted")
            self.disconnect(client, QtCore.SIGNAL('readyRead()'), self.readPassPhrase)
            self.connect(client, QtCore.SIGNAL('readyRead()'), self.startRead)
    
    def onPassChanged(self):
        """Disable 'Start' button only when the passphrase field is empty."""
        if self.mainWidget.passEdit.text():
            self.mainWidget.startButton.setEnabled(True)
        else:
            self.mainWidget.startButton.setEnabled(False)
            
    def ipComboBoxHandler(self):
        self.ipAddress = QHostAddress(self.ipComboBox.itemText(self.ipComboBox.currentIndex()))
        logging.info("Server IP changed to: %s", self.ipAddress.toString())
    
    ###
    ### Messaging
    ###
    
    def startRead(self):
        client = QtCore.QObject.sender(self)
        message = client.read(client.bytesAvailable())   
        logging.info("Client said: %s", message)
        return message
    
    def sendMessage(self, client, message):
        block = QtCore.QByteArray()
        block.append(message)
        client.write(block)
            
    ###
    ### Client List Methods
    ###
            
    '''
    This is the function to handle a new connection.
    '''
    def acceptConnection(self):
        client = self.server.nextPendingConnection()
        self.connect(client, QtCore.SIGNAL("disconnected()"), self.clientDisconnected)
        self.connect(client, QtCore.SIGNAL('readyRead()'), self.readPassPhrase)
    
    def clientDisconnected(self):
        client = QtCore.QObject.sender(self)
        logging.info("Client disconnected")
        self.clients.remove(client)
        self.updateList()
        self.updateClientButtons()
    
    '''
    This method is to update the list
    '''
    def updateList(self):
        self.mainWidget.clientList.clear()
        for i in range(0, len(self.clients)):
            client = self.clients[i]
            listItem = ClientListItem(client)
            self.mainWidget.clientList.addItem(listItem)
            clientLabel = QtGui.QLabel('F1', self)
            clientLabel.move(5 + (i * 20), 150)
    
    def addClientToList(self, client):
        self.clients.append(object)
        listItem = ClientListItem(client)
        self.mainWidget.clientList.addItem(listItem)
    
    def removeClientFromTheList(self, client):
        self.clients.remove(client)
        self.updateList()

    '''
    Sends a record command to the selected clients
    '''     
    def sendRecordCommand (self):
        buttonText = self.mainWidget.clientStartButton.text()
        
        # Find out what command to send
        if buttonText == self.startRecordingString or buttonText == self.resumeRecordingString:
            command = COMMANDS[1]   # Set Record
        elif buttonText == self.pauseRecordingString:
            command = COMMANDS[2]   # Set Pause
        
        # Send command
        for i in range(0, len(self.mainWidget.clientList.selectedItems())):
            c_item = self.mainWidget.clientList.selectedItems()[i]
            client = c_item.client
            self.sendMessage(client, command)
            
            if command == COMMANDS[1]:                # Check if command is Record
                c_item.changeStatus(CLIENT_STATUS[1]) # Set Recording
            elif command == COMMANDS[2]:              # Check if command is Pause
                c_item.changeStatus(CLIENT_STATUS[2]) # Set Paused
                
            logging.info("Sent  %s  command to %s" % (command, c_item.address))
                
        self.updateClientButtons()
    
    '''
    Sends a stop command to selected clients
    '''
    def sendStopCommand (self):
        command = COMMANDS[0]   # Set Stop command
        
        for i in range(0, len(self.mainWidget.clientList.selectedItems())):
            c_item = self.mainWidget.clientList.selectedItems()[i]
            client = c_item.client
            self.sendMessage(client, command)
            c_item.changeStatus(CLIENT_STATUS[3])  # Set Idle
            
            logging.info("Sent  %s  command to %s" % (command, c_item.address))
            
        self.updateClientButtons()
        
    '''
    Method to disconnect all clients selected from the list
    '''
    def disconnectClients(self):
        for i in range(0, len(self.mainWidget.clientList.selectedItems())):
            client = self.mainWidget.clientList.selectedItems()[i].client
            client.disconnectFromHost()  
    
    '''
    Method to disconnect all clients that are connected
    '''
    def disconnectAllClients(self):
        for i in range(0, self.mainWidget.clientList.count()):
            client = self.mainWidget.clientList.item(i).client
            client.disconnectFromHost()
            
    def updateClientButtons(self):
        if len(self.mainWidget.clientList.selectedItems()) > 0:
            self.mainWidget.clientDisconnectButton.setEnabled(True)
            self.mainWidget.clientStartButton.setEnabled(True)
            
            for i in range(0, len(self.mainWidget.clientList.selectedItems())):
                clientStatus = self.mainWidget.clientList.selectedItems()[i].status
                logging.debug("Client status: %s", clientStatus)
                
                if clientStatus == CLIENT_STATUS[1]:    # Client is Recording
                    self.mainWidget.clientStartButton.setText(self.pauseRecordingString)
                    self.mainWidget.clientStopButton.setEnabled(True)
                    
                elif clientStatus == CLIENT_STATUS[3]:  # Client is Idle
                    self.mainWidget.clientStartButton.setText(self.startRecordingString)
                    self.mainWidget.clientStopButton.setEnabled(False)
                    
                elif clientStatus == CLIENT_STATUS[2]:  # Client is Paused
                    self.mainWidget.clientStartButton.setText(self.resumeRecordingString)
                    self.mainWidget.clientStopButton.setEnabled(True)
                    
        else:
            self.mainWidget.clientDisconnectButton.setEnabled(False)
            self.mainWidget.clientStartButton.setEnabled(False)
            self.mainWidget.clientStartButton.setText(self.startRecordingString)
            self.mainWidget.clientStopButton.setEnabled(False) 
            self.mainWidget.clientStopButton.setText(self.stopRecordingString)
Example #29
0
 def ipComboBoxHandler(self):
     self.ipAddress = QHostAddress(self.ipComboBox.itemText(self.ipComboBox.currentIndex()))
     logging.info("Server IP changed to: %s", self.ipAddress.toString())
Example #30
0
 def handle_SendNatPacket(self, msg):
     target, message = msg['args']
     host, port = target.split(':')
     self._socket.writeDatagram(b'\x08' + message.encode(),
                                QHostAddress(host), int(port))
Example #31
0
def isAvailable(port):
    server = QTcpServer()
    result = server.listen(QHostAddress("127.0.0.1"), port)
    server.close()
    return result
Example #32
0
 def send_datagram(self, message):
     send = QUdpSocket()
     send.writeDatagram(message, QHostAddress(self.clientIp.text()), self.clientPort.value())
Example #33
0
    def __init__(self):
        super(MainWindow, self).__init__()

        self.serverIP = QHostAddress()
        self.port = 8010

        self.super_Vlayout = QtGui.QVBoxLayout()

        # value_layout
        self.value_layout = QtGui.QHBoxLayout()
        self.speed_value_lable = QtGui.QLabel(u"速度(step/s):")
        self.speed_value_text = QtGui.QLineEdit()
        self.step_value_lable = QtGui.QLabel(u"    步值(step):")
        self.step_value_text = QtGui.QLineEdit()
        self.value_layout.addWidget(self.speed_value_lable)
        self.value_layout.addWidget(self.speed_value_text)
        self.value_layout.addWidget(self.step_value_lable)
        self.value_layout.addWidget(self.step_value_text)

        # send_layout
        self.send_layout = QtGui.QHBoxLayout()
        self.send_button = QtGui.QPushButton(u"发送")
        self.send_button.setEnabled(False)
        self.send_button.setFixedWidth(100)
        self.send_layout.addStretch()
        self.send_layout.addWidget(self.send_button)
        self.send_layout.addStretch()

        # ip_layout
        self.ip_layout = QtGui.QHBoxLayout()
        self.ip_lable = QtGui.QLabel(u"IP地址: ")
        self.ip_value_text = QtGui.QLineEdit("192.168.1.128")
        self.ip_layout.addWidget(self.ip_lable)
        self.ip_layout.addWidget(self.ip_value_text)

        # port_layout
        self.port_layout = QtGui.QHBoxLayout()
        self.port_lable = QtGui.QLabel(u"端口号: ")
        self.port_value_text = QtGui.QLineEdit("8080")
        self.port_layout.addWidget(self.port_lable)
        self.port_layout.addWidget(self.port_value_text)

        # connect_layout
        self.connect_layout = QtGui.QHBoxLayout()
        self.connect_button = QtGui.QPushButton(u"连接")
        self.connect_button.setFixedWidth(100)
        self.connect_layout.addStretch()
        self.connect_layout.addWidget(self.connect_button)
        self.connect_layout.addStretch()

        self.super_Vlayout.addLayout(self.value_layout)
        self.super_Vlayout.addLayout(self.send_layout)
        self.super_Vlayout.addLayout(self.ip_layout)
        self.super_Vlayout.addLayout(self.port_layout)
        self.super_Vlayout.addLayout(self.connect_layout)

        self.setLayout(self.super_Vlayout)
        self.setWindowTitle("Client")
        self.setGeometry(700, 300, 300, 300)

        self.my_tcp_socket = QtNetwork.QTcpSocket(self)

        self.set_signal()
Example #34
0
def _send_mcast(data, address = QHostAddress.Broadcast):
	udpSocket = QUdpSocket()
	addr = QHostAddress(address)
	print "Sending :", unicode(data), ' to:', addr.toString(), ':34001'
	return udpSocket.writeDatagram(QString(data).toUtf8().data(), addr, 34001)