Ejemplo n.º 1
0
    def start(self):
        self.startButton.setEnabled(False)

        QApplication.setOverrideCursor(Qt.WaitCursor)

        self.bytesWritten = 0
        self.bytesReceived = 0

        while not self.tcpServer.isListening() and not self.tcpServer.listen():
            ret = QMessageBox.critical(
                self,
                "Loopback",
                "Unable to start the test: %s." % self.tcpServer.errorString(),
                QMessageBox.Retry | QMessageBox.Cancel,
            )
            if ret == QMessageBox.Cancel:
                return

        self.serverStatusLabel.setText("Listening")
        self.clientStatusLabel.setText("Connecting")

        self.tcpClient.connectToHost(QHostAddress(QHostAddress.LocalHost),
                                     self.tcpServer.serverPort())
Ejemplo n.º 2
0
 def hasPendingFile(self, userName, serverAddress, clientAddress, fileName):
     '''
     看看是否是发给自己的文件
     '''
     ipAddress = self.getIP()
     if ipAddress == clientAddress:
         # 当我们收到的客户端地址和本机IP地址是一样的,表示确实是发给这台电脑的
         isreceive = "来自{}({})的文件:{},是否接收?".format(userName, serverAddress,
                                                   fileName)
         btn = QMessageBox.information(self, "接收文件", isreceive,
                                       QMessageBox.Yes, QMessageBox.No)
         if btn == QMessageBox.Yes:
             name = QFileDialog.getSaveFileName(self, "保存文件", fileName)
             if name[0]:
                 client = TcpC(self)
                 client.setFileName(name[0])
                 client.setHostAddress(QHostAddress(serverAddress))
                 client.exec()
             # 当我们的选择同意接收的时候,我们调用客户端的相关函数执行,为接收文件做好准备。
         else:
             self.sendMessage(Chat.Refuse, serverAddress)
             self.udpSocket.close()
             self.network()
Ejemplo n.º 3
0
def _is_url_naive(urlstr):
    """Naive check if given URL is really a URL.

    Args:
        urlstr: The URL to check for, as string.

    Return:
        True if the URL really is a URL, False otherwise.
    """
    url = qurl_from_user_input(urlstr)
    assert url.isValid()

    if not utils.raises(ValueError, ipaddress.ip_address, urlstr):
        # Valid IPv4/IPv6 address
        return True

    # Qt treats things like "23.42" or "1337" or "0xDEAD" as valid URLs
    # which we don't want to. Note we already filtered *real* valid IPs
    # above.
    if not QHostAddress(urlstr).isNull():
        return False

    return '.' in url.host()
Ejemplo n.º 4
0
 def listen(self, host=None, port=3000):
     """Method making the server listening to a given address."""
     # If no address was specified: trying to give the best one
     if host is None:
         for ip in self.get_available_ips():
             if ip != QHostAddress.LocalHost and ip.toIPv4Address():
                 host = ip
         if host is None:  # No suitable address was found
             host = QHostAddress.LocalHost
     # The address was given as string
     if type(host) == str:
         host = QHostAddress(host)
     # For printing...
     address = "{}:{}".format(host.toString(), port)
     # Launching server
     if not self.__tcpServer.listen(host, port):
         self.__tcpServer.close()
         print("Unable to listen on address '{}': {}.".format(
             address, self.__tcpServer.errorString()))
         raise ConnectionError(self.__tcpServer.errorString())
     else:
         print("Server is listening on address '{}'.".format(address))
         self.listening.emit((host, port))
Ejemplo n.º 5
0
    def __init__(self):
        """
        Constructor of the BackgroundService class.
        """
        self.processes = {}
        self.connections = {}
        self.isWorking = None
        self.runningJob = [None, None, None, None]
        self.__queue = []
        self.services = {}

        super(BackgroundService, self).__init__()

        networkInterface = Preferences.getDebugger("NetworkInterface")
        if networkInterface == "all" or '.' in networkInterface:
            self.hostAddress = '127.0.0.1'
        else:
            self.hostAddress = '::1'
        self.listen(QHostAddress(self.hostAddress))

        self.newConnection.connect(self.on_newConnection)

        port = self.serverPort()
        ## Note: Need the port if started external in debugger:
        print('BackgroundService listening on: {0:d}'.format(port))
        # __IGNORE_WARNING__
        for pyName in ['Python2', 'Python3']:
            venvName = Preferences.getDebugger(pyName + "VirtualEnv")
            interpreter = e5App().getObject(
                "VirtualEnvManager").getVirtualenvInterpreter(venvName)
            if not interpreter and int(pyName[-1]) == sys.version_info[0]:
                interpreter = sys.executable.replace("w.exe", ".exe")
            if interpreter:
                process = self.__startExternalClient(interpreter, port)
                if process:
                    self.processes[pyName] = process, interpreter
    def sessionOpened(self):
        if self.networkSession is not None:
            config = self.networkSession.configuration()

            if config.type() == QNetworkConfiguration.UserChoice:
                id = self.networkSession.sessionProperty(
                    'UserChoiceConfiguration')
            else:
                id = config.identifier()

            settings = QSettings(QSettings.UserScope, 'QtProject')
            settings.beginGroup('QtNetwork')
            settings.setValue('DefaultNetworkConfiguration', id)
            settings.endGroup()

        self.tcpServer = QTcpServer(self)
        if not self.tcpServer.listen():
            QMessageBox.critical(
                self, "Fortune Server", "Unable to start the server: %s." %
                self.tcpServer.errorString())
            self.close()
            return

        for ipAddress in QNetworkInterface.allAddresses():
            if ipAddress != QHostAddress.LocalHost and ipAddress.toIPv4Address(
            ) != 0:
                break
        else:
            ipAddress = QHostAddress(QHostAddress.LocalHost)

        ipAddress = ipAddress.toString()

        self.statusLabel.setText(
            "The server is running on\n\nIP: %s\nport %d\n\n"
            "Run the Fortune Client example now." %
            (ipAddress, self.tcpServer.serverPort()))
Ejemplo n.º 7
0
 def ipIsValid(self):
     return QHostAddress().setAddress(self.ipField.text())
Ejemplo n.º 8
0
 def ConnectToServer(self):
     ip = self.ui.lineEdit_IPAddress.text()
     port = self.ui.lineEdit_PORT.text()
     self.tcpsocket.connectToHost(QHostAddress(ip), int(port))
Ejemplo n.º 9
0
from PyQt5.QtCore import *
import numpy as np
import cv2
import sys

bf = cv2.BFMatcher()
sift = cv2.xfeatures2d.SIFT_create()  # opencv 3
I1 = cv2.imread('/home/alireza/Documents/Geo-Localization/map.jpg')
G1 = cv2.cvtColor(I1, cv2.COLOR_BGR2GRAY)
keypoints1, desc1 = sift.detectAndCompute(G1, None)
# opencv 3

img_port = 1234

send_data_socket = QUdpSocket()
ROBOT_IP = QHostAddress("127.0.0.1")
ROBOT_data_port = 5678


def receive_data():

    print("image Rec")
    datagram = qb()
    datagram.resize(rec_data_socket.pendingDatagramSize())
    datagram, host, port = rec_data_socket.readDatagram(datagram.size())
    datagram = qb(datagram)
    rec_data_socket.flush()
    buf = np.asarray(bytearray(datagram), dtype=np.uint8)
    mat = cv2.imdecode(buf, cv2.IMREAD_COLOR)
    datagram.clear()
Ejemplo n.º 10
0
 def updateAudioPort(self):
     '''更新我的端口和ip'''
     self.audio_data.set_my_count(self.my_count)
     self.audio_data.set_audio_status(AUDIO_STATUS_UPDATE)
     self.audio_socket.writeDatagram(self.audio_data.audio_struct_pack(), QHostAddress(AUDIO_SERVER_IP), AUDIO_SERVER_PORT)
Ejemplo n.º 11
0
 def __server(self):
     self.srv = DataQueryTcpServer()
     self.srv.listen(QHostAddress('0.0.0.0'), 1509)
     self.srv.sendMessageToMain_signal.connect(self.server_work)
     self.logstr(u'启动服务...')
     self.__web_state = 1
Ejemplo n.º 12
0
""" 
Initializes the rover UDP server. (currently acting as a dummy)
TODO: Implement ROS, listen to the 'right' nodes, bundle up a dictionary containing relevant data, send it to the multicast address. (test on the rover)
"""

import time
import json
import random
import signal

from PyQt5.QtNetwork import QUdpSocket, QHostAddress, QNetworkInterface

GAMEPAD_SERVER_ADDRESS = QHostAddress("127.0.0.1")
GAMEPAD_SERVER_PORT = 5000

SENSOR_PUBLISH_SERVER = QHostAddress("239.255.43.21")
SENSOR_PUBLISH_PORT = 45454

RUNNING = True


def generate_random_data():
    """
    Generates random sensor data, returns as a json object.
    """
    output = {}

    # Drive : Speed + Turn
    output["drive"] = {
        "speed": random.randint(0, 16),
        "turn": random.randint(-1, 1)
Ejemplo n.º 13
0
 def mock_fromName(host):
     info = QHostInfo()
     if host == "known.domain":
         info.setAddresses([QHostAddress("1.2.3.4")])
     return info
Ejemplo n.º 14
0
 def set_find_device_bind(self):
     self.find_device.bind(QHostAddress(self.ip), 8888,
                           QUdpSocket.ReuseAddressHint)
Ejemplo n.º 15
0
 def timeout(self):
     '''定时器超时,槽函数,定期给服务器发送消息,获取服务器上所有的文件'''
     self.udp_client_socket.writeDatagram(
         str(FILE_STATUS_UPDATE).encode('utf-8'),
         QHostAddress(FILE_SERVER_IP), FILE_SERVER_PORT_2)
Ejemplo n.º 16
0
 def buttonConnect(self):
     ip = self.ui.IPLineEdit.text()
     port = self.ui.portLineEdit.text()
     self.tcpSocket.connectToHost(QHostAddress(ip), int(port))
Ejemplo n.º 17
0
def isAvailable(port):
    server = QTcpServer()
    result = server.listen(QHostAddress("127.0.0.1"), port)
    server.close()
    return result
Ejemplo n.º 18
0
 def __init__(self, ip, port):
     super(MyTcpServer, self).__init__()
     if self.isListening():
         print("连接正在运行")
     else:
         self.listen(QHostAddress(ip), port)
Ejemplo n.º 19
0
 def send_message(self,jdata,ip,port=0):
     if port == 0:
         port = self.port
     data = json.loads(jdata)
     self.udpSocket.writeDatagram(pickle.dumps((data["code"],data["msg"])),QHostAddress(ip),int(port))
 def __init__(self):
     self.tcp_server = QTcpServer()
     self.tcp_server.listen(QHostAddress(SERVER_ADDRESS), SERVER_PORT)
     self.tcp_server.newConnection.connect(self.connect_client)
     self.clients = []
Ejemplo n.º 21
0
 def connect_device(self, address):
     self.udpSocket.writeDatagram(b"ConnectToPcCloud-",
                                  QHostAddress(address), 60000)
Ejemplo n.º 22
0
 def giveMyChatRecord(self):
     '''告知服务器,返回我的聊天记录'''
     self.data.set_my_count(self.my_count)
     self.data.set_friend_count(self.friend_count)
     self.data.set_chat_status(CHAT_STATUS_CHAT_RECORE)
     self.udp_client_socket.writeDatagram(self.data.chat_struct_pack(), QHostAddress(CHAT_SERVER_IP),CHAT_SERVER_PORT)
Ejemplo n.º 23
0
from coPyModules import *
from CoviseMsgLoop import CoviseMsgLoop, CoviseMsgLoopAction
from coviseModuleBase import *

import time

#--------
udpMode = False
try:
    import covise
    from PyQt5.QtNetwork import QHostAddress, QUdpSocket

    # Set the socket parameters
    secondUDP_IP = covise.getCoConfigEntry("vr-prepare.SecondUDP.IP")
    if secondUDP_IP:
        host = QHostAddress(secondUDP_IP)
    else:
        host = QHostAddress("127.0.0.1")
    secondUDP_Port = covise.getCoConfigEntry("vr-prepare.SecondUDP.Port")
    if secondUDP_Port:
        port = int(secondUDP_Port)
    else:
        port = 6666
    buf = 1024
    addr = (host, port)

    # Create socket and bind to address
    if covise.coConfigIsOn("vr-prepare.SecondUDP"):
        UDPSock = QUdpSocket()
        UDPSock.bind(port)
        udpMode = True
Ejemplo n.º 24
0
 def __init__(self):
     super().__init__()
     self.isOnline = False
     self.port = 8888
     self.serverIP = QHostAddress('127.0.0.1')
     self.initUI()
Ejemplo n.º 25
0
 def updatePort(self):
     '''告知服务器,更新我的聊天记录界面端口'''
     self.data.set_my_count(self.my_count)
     self.data.set_chat_status(CHAT_STATUS_UPDATE_RECORD_PAGE)
     self.udp_client_socket.writeDatagram(self.data.chat_struct_pack(), QHostAddress(CHAT_SERVER_IP), CHAT_SERVER_PORT)
Ejemplo n.º 26
0
    def incomingConnection(self, socketid):
        '''
        :description Info:内置方法,监听到有client连接时自动触发
                               开启一个线程
         '''
        st = ServerThread(socketid, self)
        st.sendMessageToServer_signal.connect(self.recvMessageFromThread)
        self.sendMessageToThread_signal.connect(st.sendMessageToSocket)
        st.finished.connect(st.deleteLater)
        self.sendMessageToMain_signal.emit({
            'code': '0',
            'msg': 'Start thread'
        })
        st.start()

    def recvMessageFromThread(self, dict):
        self.sendMessageToMain_signal.emit(dict)

    def sendMessageToThread(self, msg):
        self.sendMessageToThread_signal.emit(msg)

    def stop(self):
        self.close()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    sqts = DataQueryTcpServer()
    sqts.listen(QHostAddress('0.0.0.0'), 1509)
    sys.exit(app.exec_())