Abstract:
Disclosed are a near field discovery method, a user equipment, and a storage medium. The method comprises: a first user equipment enters a discovery mode; the first user equipment probes one or multiple second user equipment, where the one or multiple second user equipment are in a state allowing them to be probed by the first user equipment; the first user equipment transmits a probe packet to the one or multiple second user equipment, where the probe packet comprises first user information; the first user equipment receives a response packet transmitted by the second user equipment in response to the probe packet monitored thereby and transmitted by the first user equipment, where the response packet requires no reply from the first user equipment, and the response packet comprises second user information; and, the first user equipment discovers the second user equipment on the basis of the response packet.

Description:
CROSS REFERENCE TO RELATED APPLICATION 
       [0001]    This application is a continuation of International Application No. PCT/CN2015/088352, filed on Aug. 28, 2015, which claims the priority to Chinese Patent Application No. 201410431483.0, filed on Aug. 28, 2014, both of which are hereby incorporated by reference in their entireties. 
     
    
     FIELD 
       [0002]    The present disclosure relates to the field of internet technology, and in particular to a near-field discovery method and a user device. 
       BACKGROUND 
       [0003]    With the rapid development of the internet, communications via some applications, for example, instant messaging tools, become more frequent. Taking QQ for example, to communicate with a user not yet added, a user needs to find the user not yet added first and then communicates with the user after adding the user. A device can not discover each other without an account number of the other party inputted. 
         [0004]    In conventional technology, terminal devices can not discover each other, and consequently, applications in the terminal devices can not discover each other either without a registered account number of the other party inputted, failing to add contacts. 
       SUMMARY 
       [0005]    A near-field discovery method is provided according to the present disclosure, by which user devices can detect and discover each other without an account number of the other party inputted, and accordingly, a user device and a storage medium are further provided according to the present disclosure. 
         [0006]    In a first aspect of the present disclosure, a near-field discovery method is provided, which includes: 
         [0007]    entering, by a first user device, a discovery mode; 
         [0008]    detecting, by the first user device, one or more second user devices, where the one or more second user devices are in a state of being allowed to be detected by the first user device; 
         [0009]    sending, by the first user device, a detection packet to the one or more second user devices, where the detection packet includes first user information; 
         [0010]    receiving, by the first user device, a response packet sent by the one or more second user devices in response to the detection packet from the first user device on monitoring the detection packet, where the response packet is not required to be replied to by the first user device and includes second user information; and 
         [0011]    discovering, by the first user device, the one or more second user devices based on the response packet. 
         [0012]    In a second aspect of the present disclosure, a user device including one or more processors is provided, where the one or more processors are configured to execute program instructions stored in a storage medium for the user device to perform the following operations: 
         [0013]    detecting one or more second user devices, where the one or more second user devices are in a state of being allowed to be detected by the user device; 
         [0014]    sending a detection packet to the one or more second user devices, where the detection packet includes first user information; 
         [0015]    receiving a response packet sent by the one or more second user devices in response to the detection packet from the user device on monitoring the detection packet, where the response packet is not required to be replied to by the user device and includes second user information; 
         [0016]    discovering the one or more second user devices based on the response packet. 
         [0017]    In a third aspect of the present disclosure, a storage medium configured to store program instructions is provided, where when the program instructions are executed by a processor, the processor can perform the following operations: 
         [0018]    detecting one or more second user devices, where the one or more second user devices are in a state of being allowed to be detected; 
         [0019]    sending a detection packet to the one or more second user devices, where the detection packet includes first user information; 
         [0020]    receiving a response packet sent by the one or more second user devices in response to the detection packet on monitoring the detection packet, where the response packet is not required to be replied to and includes second user information; and 
         [0021]    discovering the one or more second user devices based on the response packet. 
         [0022]    In the near-field discovery method according to the present disclosure, the first user device in the discovery mode detects the one or more second user devices in the state of being allowed to be detected; the first user device sends the detection packet to the one or more second user devices, where the detection packet includes the first user information; the first user device receives the response packet sent by the one or more second user devices in response to the detection packet from the first user device on monitoring the detection packet, where the response packet is not required to be replied to by the first user device and includes the second user information; and the first user device discovers the one or more second user devices based on the response packet. By the method, user devices can detect and discover each other without an account number of the other party inputted. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0023]    The drawings to be used in the descriptions of the embodiments are described briefly as follows, so that technical solutions according to the embodiments of the disclosure may become clearer. Apparently, the drawings in the following descriptions only illustrate some embodiments of the disclosure. For those skilled in the art, other drawings may be obtained based on these drawings without any creative work. 
           [0024]      FIG. 1A  is a schematic diagram of a near-field discovery method according to an embodiment of the disclosure; 
           [0025]      FIG. 1B  is a schematic diagram of a near-field discovery method according to an embodiment of the disclosure; 
           [0026]      FIG. 1C  is a schematic diagram of a near-field discovery method according to an embodiment of the disclosure; 
           [0027]      FIG. 2  is a schematic diagram of a near-field discovery method according to an embodiment of the disclosure; 
           [0028]      FIG. 3A  is a schematic diagram of a user device according to an embodiment of the disclosure; 
           [0029]      FIG. 3B  is a schematic diagram of a user device according to an embodiment of the disclosure; 
           [0030]      FIG. 4  is a schematic diagram of a user device according to an embodiment of the disclosure; 
           [0031]      FIG. 5  is a schematic diagram of a user device according to an embodiment of the disclosure; 
           [0032]      FIG. 6  is a schematic diagram of a user device according to an embodiment of the disclosure; 
           [0033]      FIG. 7  is a schematic diagram of a user device according to an embodiment of the disclosure; 
           [0034]      FIG. 8  is a schematic diagram of a user device according to an embodiment of the disclosure; 
           [0035]      FIG. 9  is a schematic diagram of a user device according to an embodiment of the disclosure; 
           [0036]      FIG. 10  is a schematic diagram of a user device according to an embodiment of the disclosure; and 
           [0037]      FIG. 11  is a schematic diagram of a terminal according to an embodiment of the disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0038]    A near-field device discovery method is provided according to the present disclosure, by which users can discover each other without inputting account numbers of each other and add each other to a contact list in an application, and accordingly, a user device is further provided according to the present disclosure, both of which are described in detail hereinafter. 
         [0039]    Technical solutions according to embodiments of the disclosure are described clearly and completely hereinafter in conjunction with the drawings. Apparently, the described embodiments are only a few rather than all of the embodiments of the disclosure. Any other embodiments obtained by those skilled in the art based on the embodiments according to the present disclosure without any creative work fall in the scope of the disclosure. 
         [0040]    As shown in  FIG. 1A , a near-field discovery method is provided according to an embodiment of the disclosure, which includes steps  1101  to  1105 . 
         [0041]    In step  1101 , a first user device enters a discovery mode. 
         [0042]    In step  1102 , the first user device detects one or more second user devices, where the one or more user devices are in a state of being allowed to be detected by the first user device; 
         [0043]    In step  1103 , the first user device sends a detection packet to the one or more second user devices, where the detection packet includes first user information. 
         [0044]    In step  1104 , the first user device receives a response packet sent by the one or more second user devices in response to the detection packet from the first user device on monitoring the detection packet, where the response packet is not required to be replied to by the first user device and includes second user information. 
         [0045]    In step  1105 , the first user device discovers the one or more second user devices based on the response packet. 
         [0046]    In a possible implementation, the first user device receives a discovery mode start instruction triggered by a user which is triggered in an application the user logs onto with the first user information, and enters the discovery mode in response to the discovery mode start instruction. After discovering the one or more second user devices based on the response packet, the first user device adds the second user information to a contact list in the application, where the application in the one or more second user devices has been logged onto with the second user information. 
         [0047]    As shown in  FIG. 1B , a near-field device discovery method is provided according to an embodiment of the disclosure, which includes steps  101  to  105 . 
         [0048]    In step  101 , a first user device receives a discovery mode start instruction triggered by a user, where the discovery mode start instruction is triggered in an application the user logs onto with first user information. 
         [0049]    The application in the embodiment of the disclosure may be an instant messaging application, or an application such as contacts. In the embodiment of the disclosure, the instant messaging application is QQ, for example, which, however, is not limited to QQ in practical implementations. 
         [0050]    In the embodiment of the disclosure, a discovery mode is a mode in which a user device automatically searches and discovers without an account number of a contact in another user device inputted, as described in the embodiment of the disclosure. 
         [0051]    For example, after logging onto QQ in the first user device, the user triggers the discovery mode in the application of QQ, and after receiving a trigger instruction, the first user device performs step  102 . 
         [0052]    In step  102 , the first user device determines, in response to the discovery mode start instruction, one or more second user devices in communications with the first user device by a predetermined policy. 
         [0053]    In the embodiment of the disclosure, the first user device automatically searches, in response to the discovery mode start instruction, for one or more second user devices which can communicate with the first user device. 
         [0054]    In the embodiment of the disclosure, the predetermined policy may be varied, and consequently, a way of the automatic searching may be varied as well. 
         [0055]    Considering the first user device may find a lot of second user devices, which is unfavorable for establishing connections between the user and desired contacts, in the embodiment of the disclosure, the first user device and any of the one or more second user devices are restricted to have near-field communications, between which a distance is generally dozens of meters, or hundreds of meters, which does not go beyond thousands of meters. 
         [0056]    In step  103 , the first user device sends a detection packet to the one or more second user devices, where the detection packet includes the first user information. 
         [0057]    After finding the one or more second user devices, the first user device can send a detection packet to the one or more second user devices, where the detection packet includes the first user information, and the first user information may be an account number and a nickname of the user using the first user device in the instant messaging application. 
         [0058]    After receiving the detection packet, the one or more second user devices can obtain the first user information in the detection packet, and a user or users using the one or more second user devices can decide, based on the first user information, whether to send a response packet to the first user device. 
         [0059]    In a case that a user using a second user device decides to establish a connection with a contact with the first user information, the user can trigger the second user device to send a response packet to the first user device, where the response packet includes second user information, and the second user information may be an account number and a nickname of the user using the second user device in the instant messaging application. 
         [0060]    In step  104 , the first user device receives at least one response packet replied by the one or more second user devices, where the application in a second user device or second user devices which reply the at least one response packet has been logged onto with second user information. 
         [0061]    Since the at least one response packet received by the first user device may include information on a contact the user does not need to add, the user can decide, based on the second user information in the at least one response packet, whether to add the contact. 
         [0062]    In step  105 , the first user device adds the second user information to a contact list in the application. 
         [0063]    The first user device adds second user information the user wants to the contact list in the application according to an adding instruction of the user. 
         [0064]    In the method for discovering a near-field device in instant messaging according to the embodiment of the disclosure, the first user device receives the discovery mode start instruction triggered by the user, where the discovery mode start instruction is triggered in the application the user logs onto with the first user information; the first user device determines, in response to the discovery mode start instruction, the one or more second user devices in communications with the first user device by the predetermined policy; the first user device sends the detection packet to the one or more second user devices, where the detection packet includes the first user information; the first user device receives the at least one response packet replied by the one or more second user devices, where the application in the second user device or devices which reply the at least one response packet has been logged onto with the second user information; and the first user device adds the second user information to the contact list in the application. Compared with that a contact can not be discovered without an account number of the contact inputted in conventional technology, by the method according to the embodiment of the disclosure, a contact can be added without an account number of the contact inputted, thereby improving an efficiency of adding contacts. 
         [0065]    Optionally, in a method for discovering a near-field device in instant messaging according to an embodiment of the disclosure based on the embodiment above as shown in  FIG. 1B , determining the one or more second user devices in communications with the first user device by the predetermined policy may include: 
         [0066]    obtaining a local area network internet protocol (IP) address of the first user device; 
         [0067]    constructing, based on the local area network IP address of the first user device, an address interval of local area network IP addresses by a predetermined rule; and 
         [0068]    determining at least one user device with a local area network IP address within the address interval to be the one or more second user devices. 
         [0069]    In the embodiment of the disclosure, the first user device can discover a second user device in one local area network. 
         [0070]    To be specific, the first user enters the discovery mode, obtains a current local area network internet protocol (Internet Protocol, IP) address of its own, and may further obtain an address mask and a broadcast address. Then the first user device expands, based on the local area network IP address of its own, from a value of a fourth field of the local area network IP address by a certain range both forward and backward by the predetermined rule, to form an address interval. To avoid of a deluge of packets in the local area network caused by scanning too many IP addresses, the number of IP addresses in the address interval is set to be between 10 and 20. The first user device sends 1 or 2 detection packets to each of the IP addresses in the address interval, where a detection packet includes personal information such as a QQ number and a nickname. 
         [0071]    A second user device can monitor detection packets in the local area network, and obtain information on the first user device from a detection packet on receiving the detection packet. Accordingly, after receiving the detection packet, the second user device can reply a response packet which is not required to be replied to, so that the first user device can quickly discover the second user terminal, thereby achieving a mutual discovery of contacts under near-field circumstances. 
         [0072]    For example, the first user device may calculate the address range of local area network IP addresses based on the local area network IP address of its own, and scan contacts in the local area network by a one-time broadcast or one-by-one unicasts. To be specific, a method for calculating the address range of local area network IP addresses includes: obtaining the local area network IP address (being 192.168.0.a, hypothetically) of the first user device, and expanding from a value (being a, hypothetically) of a fourth field of the local area network IP address by a certain range forward and backward (it is hypothesized that an expansion difference is delta), to form the address interval. The address interval as formed is from 192.168.0.A to 192.168.0.B, where A=a−delta, and 254 is required to be added to A in a case that A is smaller than or equal to  0 ; B=a+delta and 254 is required to be subtracted from B in a case that B is greater than or equal to 255. 
         [0073]    Optionally, in a method for discovering a near-field device in instant messaging according to an embodiment of the disclosure based on the embodiment above as shown in  FIG. 1B , determining the one or more second user devices in communications with the first user device by the predetermined policy may include: 
         [0074]    obtaining near-field information of the first user device, and reporting the near-field information to a policy server, for the policy sever to determine the one or more second user devices based on the near-field information; 
         [0075]    receiving an identifier, returned by the policy server, of each of the one or more second user devices; and 
         [0076]    determining the one or more second user devices based on the identifier of each of the one or more second user devices. 
         [0077]    In the embodiment of the disclosure, two user devices may interconnect with each other via a third party in a case that the two user devices can not directly interconnect with each other. For example, in a case that the first user device is in a mobile network such as a 2G or a 3G network and a second user device is in a local area network, the two user devices fail to meet the requirement of being in one subnet, thus data can not be communicated to each other directly. In this case, detecting and intercommunicating of the two user devices can be achieved with a third party, where the third party is called as a policy server with which interconnecting of the two user devices can be achieved. 
         [0078]    For example, as shown in  FIG. 1C , the first user device enters the discovery mode, and collects near-field information of its own, where the near-field information includes a local area network IP address of the first user device, a gateway IP address, a gateway MAC (Media Access Control) address, a service set identifier (SSID) of a connected WIFI (wireless fidelity) network and global positioning system (GPS). The first user device reports the near-field information as collected to the policy server. The policy server calculates a distance between the first user device and each of the one or more second user devices based on near-field information of all user devices, and determines that the first user device and a second user device meet conditions for short-distance intercommunication in a case that both of the two following conditions are met: (1), a real distance between the first user device and the second user device is shorter than 1 kilometer; and (2), the two user devices are in the same local area network or at least one of the two user devices is capable of creating a WIFI hotspot. In more detail, it can be determined that the two user devices are in the same local area network in a case that all of the following conditions are met: (1), the two user devices have identical public network addresses; (2), the two user devices are connected to WIFI networks with identical SSIDs; and (3), the two user devices have identical MAC addresses or a distance therebetween is short enough (which is 100 meters in default and can be configured otherwise in practical implementations). 
         [0079]    In a case that the conditions for short-distance intercommunications are met, the policy server matches the first user device with all other devices which report being in a near-field discovery mode one by one, and returns a list of second user devices meeting a condition to the first user device, thereby achieving a discovery with the help of the policy server. 
         [0080]    Optionally, in a method for discovering a near-field device in instant messaging according to an embodiment of the disclosure based on the embodiment above as shown in  FIG. 1B , determining the one or more second user devices in communications with the first user device by the predetermined policy may include: 
         [0081]    creating and starting a wireless fidelity (WIFI) hotspot; and 
         [0082]    scanning, with the WIFI, for at least one WIFI hotspot in accordance with a predetermined rule, and determining the at least one WIFI hotspot in accordance with the predetermined rule to be the one or more second user devices. 
         [0083]    In the embodiment of the disclosure, discovering of devices may be achieved by scanning by WIFI. For example, supposing, under some circumstances, the first user device is in a mobile network (such as a 2G or a 3G network) with a weak signal or utterly in a no-service status, the first user device and a second user device fail to meet conditions for short-distance intercommunications, where, on one hand, data can not be communicated between the two user devices and on the other hand, communications links between the two user devices each and the policy server are basically unavailable. In this case, if the first user device is capable of creating a WIFI hotspot and the second user device is capable of scanning for WIFI hotspots, the issue of discovering of near-field devices can be addressed. 
         [0084]    To be specific, the first user device enters a WIFI hotspot creating sub-mode of the discovery mode with the one or more second user devices, encodes brief information (such as QQ numbers and nicknames) of its own into SSIDs of WIFI hotspots, creates and starts the WIFI hotspots. Then the first user device scans, with the WIFI, WIFI hotspots nearby, and filters out at least one WIFI hotspot with an SSID in accordance with the predetermined rule. The predetermined rule for filtering SSIDs may be defined as the following: QQ+ specially encoded (QQ number+nickname), which, however, is not limited to the above in practical implementations. 
         [0085]    In a case that the number of the at least one WIFI hotspot in accordance with the predetermined rule obtained by scanning the WIFI hotspots nearby is 1 and no other new WIFI hotspot in accordance with the predetermined rule is added in a short period of time (which is set as 2 s in default and may be configured otherwise in practical implementations), the only hotspot is automatically connected according to WIFI scanning and discovering logic and a contact corresponding thereto is added after the connecting succeeds. In a case that the number of the at least one WIFI hotspot obtained by the scanning is greater than 1, basic information (which is device information as well as contact information) such as QQ numbers and nicknames are extracted from SSIDs of the at least one WIFI hotspot, to form a contact list. 
         [0086]    The user can manually select a contact from the contact list as formed, and enter a process of automatically (or manually) connecting to a WIFI hotspot thereafter. Once such an operation is performed and the connecting succeeds, adding of the contact is completed. 
         [0087]    As shown in  FIG. 2 , a method for discovering a near-field device is provided according to an embodiment of the disclosure, which includes steps  201  to  207 . 
         [0088]    Reference can be made to the descriptions of steps  101  to  105  in  FIG. 1B  to understand steps  201  to  205 , which are not described herein redundantly. 
         [0089]    In step  201 , a first user device receives a discovery mode start instruction triggered by a user, where the discovery mode start instruction is triggered in an application the user logs onto with first user information. 
         [0090]    In step  202 , the first user device determines, in response to the discovery mode start instruction, one or more second user devices in communications with the first user device by a predetermined policy. 
         [0091]    In step  203 , the first user device sends a detection packet to the one or more second user devices, where the detection packet includes the first user information. 
         [0092]    In step  204 , the first user device receives at least one response packet replied by the one or more second user devices, where the application in a second user device or second user devices which reply the at least one response packet has been logged onto with second user information. 
         [0093]    In step  205 , the first user device adds the second user information to a contact list in the application. 
         [0094]    In step  206 , the first user device establishes a communications link to a user device of any contact added to the contact list. 
         [0095]    After a contact is added in step  205 , the first user device can establish a communications link, with which transceiving of user datagram protocol (UDP) packets can be performed through a local area network, and following file transceiving can be performed with the communications link, which includes: 
         [0096]    selecting a file corresponding to the contact, extracting information (including a filename, a file size and a thumbnail) corresponding to the file as selected and generating an MD 5  (Message Digest  5 ) value and a URL (Uniform Resource Locator) link for downloading, to form file information; sending the file information to the other user device based on an IP address and a port in information of the contact; and replying, by the other user device, a signaling indicating that the other user device has received the file information, after which the signaling interaction logic is completed. 
         [0097]    In step  207 , the first user device performs data transmission with the user device of the any contact through the communications link. 
         [0098]    After the first user device sends a file signaling to a second user device in step  206 , the second user device can choose to receive or refuse the file, and sends a data transmission instruction in a case that the second user device chooses to receive the file. 
         [0099]    To be specific, the second user device receives a file message, which includes the file information from the first user device. The user can refuse or receive the file as willed. In a case that the user triggers the second user device to refuse the file, the logic is terminated, otherwise the second user device requests for downloading detailed content of the file through the HTTP (HyperText Transfer Protocol) via the URL address in the file information. 
         [0100]    In the embodiment of the disclosure, the first user device receives the discovery mode start instruction triggered by the user, where the discovery mode start instruction is triggered in the application the user logs onto with the first user information; the first user device determines, in response to the discovery mode start instruction, the one or more second user devices in communications with the first user device by the predetermined policy; the first user device sends the detection packet to the one or more second user devices, where the detection packet includes the first user information; the first user device receives the at least one response packet replied by the one or more second user devices, where the application in the second user device or devices which reply the at least one response packet has been logged onto with the second user information; the first user device adds the second user information to the contact list in the application; the first user device establishes the communications link to the user device of the any contact added to the contact list, and performs data transmission with the user device of the any contact through the communications link. Compared with that a contact can not be discovered without an account number of the contact inputted in conventional technology, by the method according to the embodiment of the disclosure, a contact can be added without an account number of the contact inputted and data transmission can be performed with the contact added through a communications link established. 
         [0101]    Optionally, in a method for discovering a near-field device in instant messaging according to an embodiment of the disclosure based on the embodiment above as shown in  FIG. 2 , determining the one or more second user devices in communications with the first user device by the predetermined policy may include: 
         [0102]    obtaining a local area network internet protocol (IP) address of the first user device ; 
         [0103]    constructing, based on the local area network IP address of the first user device, an address interval of local area network IP addresses by a predetermined rule; and 
         [0104]    determining at least one user device with a local area network IP address within the address interval to be the one or more second user devices. 
         [0105]    In the embodiment of the disclosure, the first user device can discover a second user device in one local area network. 
         [0106]    To be specific, the first user enters the discovery mode, obtains a current local area network IP (Internet Protocol, IP) address of its own, and may further obtain an address mask and a broadcast address. Then the first user device expands, based on the local area network IP address of its own, from a value of a fourth field of the local area network IP address by a certain range both forward and backward by the predetermined rule, to form an address interval. To avoid of a deluge of packets in the local area network caused by scanning too many IP addresses, the number of IP addresses in the address interval is set to be between 10 and 20. The first user device sends 1 or 2 detection packets to each of the IP addresses in the address interval, where a detection packet includes personal information such as a QQ number and a nickname. 
         [0107]    A second user device can monitor detection packets in the local area network, and obtain information on the first user device from a detection packet on receiving the detection packet. Accordingly, after receiving the detection packet, the second user device can reply a response packet which is not required to be replied to, so that the first user device can quickly discover the second user device, thereby achieving a mutual discovery of contacts under near-field circumstances. 
         [0108]    For example, the first user device may calculate the address range of local area network IP addresses based on the local area network IP address of its own, and scan contacts in the local area network by a one-time broadcast or one-by-one unicasts. To be specific, a method for calculating the address range of IP addresses includes: obtaining the local area network IP address (being 192.168.0.a, hypothetically) of the first user device, and expanding from a value (being a, hypothetically) of a fourth field of the local area network IP address by a certain range (it is hypothesized that an expansion difference is delta), to form the address interval. The address interval as formed is from 192.168.0.A to 192.168.0.B, where A=a−delta, 254 is required to be added to A in a case that A is smaller than or equal to 0, B=a+delta and 254 is required to be subtracted from B in a case that B is greater than or equal to 255. 
         [0109]    As shown in  FIG. 3A , a user device  3000  is provided according to an embodiment of the disclosure, which includes one or more processors configured to execute program instructions stored in a storage medium for the user device  3000  to perform the following operations: 
         [0110]    detecting one or more second user devices, where the one or more second user devices are in a state of being allowed to be detected by the user device; 
         [0111]    sending a detection packet to the one or more second user devices, where the detection packet includes first user information; 
         [0112]    receiving a response packet sent by the one or more second user devices in response to the detection packet from the user device on monitoring the detection packet, where the response packet is not required to be replied to by the user device and includes second user information; and 
         [0113]    discovering the one or more second user devices based on the response packet. 
         [0114]    Optionally, in a method for discovering a near-field device in instant messaging according to an embodiment of the disclosure based on the embodiment above as shown in  FIG. 2 , determining the one or more second user devices in communications with the user device by the predetermined policy may include: 
         [0115]    obtaining near-field information of the user device, and reporting the near-field information to a policy server, for the policy sever to determine the one or more second user devices based on the near-field information; 
         [0116]    receiving an identifier, returned by the policy server, of each of the one or more second user devices; and 
         [0117]    determining the one or more second user devices based on the identifier of each of the one or more second user devices. 
         [0118]    In the embodiment of the disclosure, two user devices may interconnect with each other via a third party in a case that the two user devices can not directly interconnect with each other. For example, in a case that the first user device is in a mobile network such as a 2G or a 3G network and a second user device is in a local area network, the two user devices fail to meet the requirement of being in one subnet, thus data can not be communicated to each other directly. In this case, detecting and intercommunicating of the two user devices can be achieved with a third party, where the third party is called as a policy server with which interconnecting of the two user devices can be achieved. 
         [0119]    For example, as shown in  FIG. 1C , the first user device enters the discovery mode, collects near-field information of its own, where the near-field information includes a local area network IP address of the first user device, a gateway IP address, a gateway MAC address, a service set identifier (SSID) of a connected WIFI (wireless fidelity) network and global positioning system (GPS). The first user device reports the near-field information as collected to the policy server. The policy server calculates a distance between the first user device and each of the one or more second user devices based on near-field information of all user devices, and determines that the first user device and a second user device meet conditions for short-distance intercommunication in a case that both of the two following conditions are met: (1), a real distance between the first user device and the second user device is shorter than 1 kilometer; and (2), the two user devices are in the same local area network or at least one of the two user devices is capable of creating a WIFI hotspot. In more detail, it can be determined that the two user devices are in the same local area network in a case that all of the following conditions are met: (1), the two user devices have identical public network addresses; (2), the two user devices are connected to WIFI networks with identical SSIDs; and (3), the two user devices have identical MAC addresses or a distance therebetween is short enough (which is 100 meters in default and can be configured otherwise in practical implementations). 
         [0120]    In a case that the conditions for short-distance intercommunications are met, the policy server matches the first user device with all other devices which report being in a near-field discovery mode one by one, and returns a list of second user devices meeting a condition to the first user device, thereby achieving a discovery with the help of the policy server. 
         [0121]    Optionally, in a method for discovering a near-field device in instant messaging according to an embodiment of the disclosure based on the embodiment above as shown in  FIG. 2 , determining the one or more second user devices in communications with the first user device by the predetermined policy may include: 
         [0122]    creating and starting a wireless fidelity (WIFI) hotspot; and 
         [0123]    scanning, with the WIFI, for at least one WIFI hotspot in accordance with a predetermined rule, and determining the at least one WIFI hotspot in accordance with the predetermined rule to be the one or more second user devices. 
         [0124]    In the embodiment of the disclosure, discovering of devices may be achieved by scanning with WIFI. For example, supposing, under some circumstances, the first user device is in a mobile network (such as a 2G or a 3G network) with a weak signal or utterly in a no-service status, the first user device and a second user device fail to meet conditions for short-distance intercommunications, where, on one hand, data can not be communicated between the two user devices and on the other hand, communications links between the two user devices each and the policy server are basically unavailable. In this case, if the first user device is capable of creating a WIFI hotspot and the second user device is capable of scanning for WIFI hotspots, the issue of discovering of near-field devices can be addressed. 
         [0125]    To be specific, the first user device enters a WIFI hotspot creating sub-mode of the discovery mode with the one or more second user devices, encodes brief information (such as QQ numbers and nicknames) of its own into SSIDs of WIFI hotspots, creates and starts the WIFI hotspots. Then the first user device scans, with the WIFI, WIFI hotspots nearby, and filters out at least one WIFI hotspot with an SSID in accordance with the predetermined rule. The predetermined rule for filtering SSIDs may be defined as the following: QQ+specially encoded (QQ number+nickname), which, however, is not limited to the above in practical implementations. 
         [0126]    In a case that the number of the at least one WIFI hotspot in accordance with the predetermined rule obtained by scanning the WIFI hotspots nearby is 1 and no other new WIFI hotspot in accordance with the predetermined rule is added in a short period of time (which is set as 2 s in default and may be configured otherwise in practical implementations), the only hotspot is automatically connected according to WIFI scanning and discovering logic and a contact corresponding thereto is added after the connecting succeeds. In a case that the number of the at least one WIFI hotspot obtained by the scanning is greater than 1, basic information (which is device information as well as contact information) such as QQ numbers and nicknames are extracted from SSIDs of the at least one WIFI hotspot, to form a contact list. 
         [0127]    The user can manually select a contact from the contact list as formed, and enter a process of automatically (or manually) connecting to a WIFI hotspot thereafter. Once such an operation is performed and the connecting succeeds, adding of the contact is completed. 
         [0128]    As shown in  FIG. 3B , a user device is provided according to an embodiment of the disclosure, which includes: 
         [0129]    a receiving unit  301 , configured to receive a discovery mode start instruction triggered by a user, where the discovery mode start instruction is triggered in an application the user logs onto with first user information; 
         [0130]    a determining unit  302 , configured to determine, in response to the discovery mode start instruction received by the receiving unit  301 , one or more second user devices in communications with the user device by a predetermined policy; 
         [0131]    a sending unit  303 , configured to send a detection packet to the one or more second user devices determined by the determining unit  302 , where the detection packet includes the first user information, 
         [0132]    where the receiving unit  301  is further configured to receive at least one response packet replied by the one or more second user devices, where the application in a second user device or second user devices which reply the at least one response packet has been logged onto with second user information; and 
         [0133]    an adding unit  304 , configured to add the second user information received by the receiving unit  301  to a contact list in the application. 
         [0134]    In the embodiment of the disclosure, the receiving unit  301  receives the discovery mode start instruction triggered by the user, where the discovery mode start instruction is triggered in the application the user logs onto with the first user information; the determining unit  302  determines, in response to the discovery mode start instruction received by the receiving unit  301 , the one or more second user devices in communications with the user device by the predetermined policy; the sending unit  303  sends the detection packet to the one or more second user devices determined by the determining unit  302 , where the detection packet includes the first user information; the receiving unit  301  further receives the at least one response packet replied by the one or more second user devices, where the application in the second user device or devices which reply the at least one response packet has been logged onto with the second user information; and the adding unit  304  adds the second user information received by the receiving unit  301  to the contact list in the application. Compared with that a contact can not be discovered without an account number of the contact inputted in conventional technology, with the user device according to the embodiment of the disclosure, adding of a contact can be achieved without inputting an account number of the contact. 
         [0135]    Optionally, as shown in  FIG. 4 , in a user device according to an embodiment of the disclosure based on the embodiment as shown in  FIG. 3B , the determining unit  302  includes: 
         [0136]    a first obtaining sub-unit  3021 , configured to obtain a local area network internet protocol (IP) address of the user device; 
         [0137]    a constructing sub-unit  3022 , configured to construct, based on the local area network IP address, obtained by the first obtaining sub-unit  3021 , of the user device, an address interval of local area network IP addresses by a predetermined rule; and 
         [0138]    a first determining sub-unit  3023 , configured to determine at least one user device with a local area network IP address within the address interval constructed by the constructing sub-unit  3022  to be the one or more second user devices. 
         [0139]    Optionally, as shown in  FIG. 5 , in a user device according to an embodiment of the disclosure based on the embodiment as shown in  FIG. 3B , the determining unit  302  includes: 
         [0140]    a second obtaining sub-unit  3024 , configured to obtain near-field information of the user device; 
         [0141]    a sending sub-unit  3025 , configured to report the near-field information obtained by the second obtaining sub-unit  3024  to a policy server, for the policy sever to determine the one or more second user devices based on the near-field information; 
         [0142]    a receiving sub-unit  3026 , configured to receive an identifier, returned by the policy server, of each of the one or more second user devices; and 
         [0143]    a second determining sub-unit  3027 , configured to determine the one or more second user devices based on the identifier, received by the receiving sub-unit  3026 , of each of the one or more second user devices. 
         [0144]    Optionally, as shown in  FIG. 6 , in a user device according to an embodiment of the disclosure based on the embodiment as shown in  FIG. 3B , the determining unit  302  includes: 
         [0145]    a creating sub-unit  3028 , configured to create and start a wireless fidelity (WIFI) hotspot; 
         [0146]    a scanning sub-unit  3029 A, configured to scan, with the WIFI created and started by the creating sub-unit  3028 , for at least one WIFI hotspot in accordance with a predetermined rule; and 
         [0147]    a third determining sub-unit  3029 B, configured to determine the at least one WIFI hotspot, found by the scanning sub-unit  3029 A through the scanning, in accordance with the predetermined rule to be the one or more second user devices. 
         [0148]    As shown in  FIG. 7 , a user device is provided according to an embodiment of the disclosure, which includes: 
         [0149]    a receiving unit  401 , configured to receive a discovery mode start instruction triggered by a user, where the discovery mode start instruction is triggered in an application the user logs onto with first user information; 
         [0150]    a determining unit  402 , configured to determine, in response to the discovery mode start instruction received by the receiving unit  401 , one or more second user devices in communications with the user device by a predetermined policy; 
         [0151]    a sending unit  403 , configured to send a detection packet to the one or more second user devices determined by the determining unit  402 , where the detection packet includes the first user information, 
         [0152]    where the receiving unit  401  is further configured to receive at least one response packet replied by the one or more second user devices, where the application in a second user device or second user devices which reply the at least one response packet has been logged onto with second user information; 
         [0153]    an adding unit  404 , configured to add the second user information received by the receiving unit  401  to a contact list in the application; 
         [0154]    an establishing unit  405 , configured to establish a communications link to a user device of any contact added to the contact list by the adding unit  401 ; and 
         [0155]    a transmitting unit  406 , configured to perform data transmission with the user device of the any contact through the communications link established by the establishing unit  405 . 
         [0156]    In the embodiment of the disclosure, the receiving unit  401  is configured to receive a discovery mode start instruction triggered by a user, where the discovery mode start instruction is triggered in the application the user logs onto with the first user information; the determining unit  402  is configured to determine, in response to the discovery mode start instruction received by the receiving unit  401 , one or more second user devices in communications with the user device by a predetermined policy; the sending unit  403  is configured to send a detection packet to the one or more second user devices determined by the determining unit  402 , where the detection packet includes the first user information; the receiving unit  401  is further configured to receive at least one response packet replied by the one or more second user devices, where the application in a second user device or second user devices which reply the at least one response packet has been logged onto with second user information; the adding unit  404  is configured to add the second user information received by the receiving unit  401  to a contact list in the application; the establishing unit  405  is configured to establish a communications link to a user device of any contact added to the contact list by the adding unit  401 ; and the transmitting unit  406  is configured to perform data transmission with the user device of the any contact through the communications link established by the establishing unit  405 . Compared with that a contact can not be discovered without an account number of the contact inputted in conventional technology, with the user device according to the embodiment of the disclosure, a contact can be added without an account number of the contact inputted and data transmission can be performed with the contact added through a communications link established. 
         [0157]    Optionally, as shown in  FIG. 8 , in a user device according to an embodiment of the disclosure based on the embodiment as shown in  FIG. 7 , the determining unit  402  includes: 
         [0158]    a first obtaining sub-unit  4021 , configured to obtain a local area network internet protocol (IP) address of the user device; 
         [0159]    a constructing sub-unit  4022 , configured to construct, based on the local area network IP address, obtained by the first obtaining sub-unit  4021 , of the user device, an address interval of local area network IP addresses by a predetermined rule; and 
         [0160]    a first determining sub-unit  4023 , configured to determine at least one user device with a local area network IP address within the address interval constructed by the constructing sub-unit  4022  to be the one or more second user devices. 
         [0161]    Optionally, as shown in  FIG. 9 , in a user device according to an embodiment of the disclosure based on the embodiment as shown in  FIG. 7 , the determining unit  402  includes: 
         [0162]    a second obtaining sub-unit  4024 , configured to obtain near-field information of the user device; 
         [0163]    a sending sub-unit  4025 , configured to report the near-field information obtained by the second obtaining sub-unit  4024  to a policy server, for the policy sever to determine the one or more second user devices based on the near-field information; 
         [0164]    a receiving sub-unit  4026 , configured to receive an identifier, returned by the policy server, of each of the one or more second user devices; and 
         [0165]    a second determining sub-unit  4027 , configured to determine the one or more second user devices based on the identifier, received by the receiving sub-unit  4026 , of each of the one or more second user devices. 
         [0166]    Optionally, as shown in  FIG. 10 , in a user device according to an embodiment of the disclosure based on the embodiment as shown in  FIG. 7 , the determining unit  402  includes: 
         [0167]    a creating sub-unit  4028 , configured to create and start a wireless fidelity (WIFI) hotspot; 
         [0168]    a scanning sub-unit  4029 A, configured to scan, with the WIFI created and started by the creating sub-unit  4028 , for at least one WIFI hotspot in accordance with a predetermined rule; and 
         [0169]    a third determining sub-unit  4029 B, configured to determine the at least one WIFI hotspot, found by the scanning sub-unit  4029 A through the scanning, in accordance with the predetermined rule to be the one or more second user devices. 
         [0170]    Reference is made to  FIG. 11 , which shows a schematic structure diagram of a terminal according to an embodiment of the disclosure. The terminal can be configured to implement the methods for discovering a near-field device according to the embodiments above. 
         [0171]    To be specific, the terminal  1200  may include a RF (Radio Frequency) circuit  110 , a memory  120  including one or more computer readable storage media, an input unit  130 , a display unit  140 , a sensor  150 , an audio circuit  160 , a WiFi (wireless fidelity) module  170 , a processor  180  including one or more processing cores and a power  190 . Those skilled in the art shall understand the terminal is not limited to the structure shown in  FIG. 11 , which may include more or less components than shown in  FIG. 11 , combinations of some of the components, or different component arrangements. 
         [0172]    The RF circuit  110  can be configured to receive and send signals in the process of receiving and sending information or calling. Particularly, the RF circuit  110  receives downlink information of a base station and transfers the downlink information to one or more processors  180  to process; and, in addition, sends uplink-related data to the base station. The wireless communications may adopt any communications standard or protocol, which includes but is not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), e-mail and SMS (Short Messaging Service). 
         [0173]    The memory  120  can be configured to store software programs and modules, and the processor  180  performs various functional applications and data processing by running the software programs and modules stored in the memory  120 . The memory  120  may mainly include a program storage zone and a data storage zone, where operating systems, applications programs required by at least one function may be stored in the program storage zone and data created in the usage of the terminal  1200  may be stored in the data storage zone. Besides, the memory  120  may include a high-speed random access memory, and further include a nonvolatile memory, such as at least one magnetic disk memory, a flash memory or any other nonvolatile solid memory. Accordingly, the memory  120  may further include a memory controller, to provide an access to the memory  120  for the processor  180  and the input unit  130 . 
         [0174]    WiFi is a short distance wireless transmission technology. The terminal  1200  can help the user receive and send e-mails, browse webpages and access streaming media with the WiFi module  170 , which provides an access to wireless broadband internet for the user. Although shown in  FIG. 11 , it is understood that the WiFi module  170  is not a necessary part of the terminal  1200  and can well be omitted without deviating from the essence of the disclosure. 
         [0175]    The processor  180  is the control center of the terminal  1200 , which connects all parts of the cellphone through interfaces and circuits, implements the functions of the terminal  1200  and processes data by running or executing the software programs or modules stored in the memory  120  and calling data stored in the memory  120 , thereby realizing an overall monitoring on the cellphone. Optionally, the processor  180  may include one or more processing cores. Preferably, the processor  180  may be integrated with an application processor and a modulation/demodulation processor, where the application processor is mainly configured to process the operating systems, user interfaces and applications and the modulation/demodulation processor is mainly configured to process wireless communications. It is understood the modulation/demodulation processor may not be integrated into the processor  180 . 
         [0176]    In the embodiment, the display unit of the terminal is a touch-screen display, and the terminal further includes one or more programs as well as the memory, where the one or more programs are stored in the memory and configured to be executed by one or more processors. The one or more programs include instructions for performing the following operations: 
         [0177]    detecting one or more second user devices, where the one or more second user devices are in a state of being allowed to be detected by the first user device; 
         [0178]    sending a detection packet to the one or more second user devices, where the detection packet includes first user information; 
         [0179]    receiving a response packet sent by the one or more second user devices in response to the detection packet from the first user device on monitoring the detection packet, where the response packet is not required to be replied to by the first user device and includes second user information; 
         [0180]    discovering, by the first user device, the one or more second user devices based on the response packet. 
         [0181]    In a possible implementation, instructions for performing the following operations are stored in the memory of the terminal: receiving a discovery mode start instruction triggered by a user, where the discovery mode start instruction is triggered in an application the user logs onto with the first user information; and entering a discovery mode in response to the discovery mode start instruction. 
         [0182]    In a possible implementation, instructions for performing the following operations are stored in the memory of the terminal: creating and starting a wireless fidelity (WIFI) hotspot; and scanning, with the WIFI, for at least one WIFI hotspot in accordance with a predetermined rule and determining the at least one WIFI hotspot in accordance with the predetermined rule to be the one or more second user devices. 
         [0183]    In a possible implementation, instructions for performing the following operations are stored in the memory of the terminal: obtaining a local area network internet protocol (IP) address of the first user device; constructing, based on the local area network IP address, obtained by the first obtaining sub-unit, of the first user device, an address interval of local area network IP addresses by a predetermined rule; and determining at least one user device with a local area network IP address within the address interval to be the one or more second user devices. 
         [0184]    In the methods for discovering a near-field device according to the above embodiments of the disclosure, the first user device in the discovery mode detects the one or more second user devices in the state of being allowed to be detected; the first user device sends the detection packet to the one or more second user devices, where the detection packet includes the first user information; the first user device receives the response packet sent by the one or more second user devices in response to the detection packet from the first user device on monitoring the detection packet, where the response packet is not required to be replied to by the first user device and includes the second user information; and the first user device discovers the one or more second user devices based on the response packet. By the method, user devices can detect and discover each other without account numbers in each other inputted. 
         [0185]    In another aspect, a computer readable storage medium is further provided according to an embodiment of the disclosure, which may be the computer readable storage medium in the memory according to the embodiment above, or an independent computer readable storage medium which is not installed to any terminal. One or more programs are stored in the computer readable storage medium, and configured to be executed by one or more processors to implement the methods according to the embodiments above. The method for discovering a near-field device and the user device according to the present disclosure are described in detail. The principle and implementation of the disclosure are described through some specific embodiments in the present disclosure, and the descriptions of the embodiments above are only for understanding the method of the disclosure and the core idea thereof. And, modifications may be made on specific implementations and the application scope of the disclosure by those skilled in the art within the spirit of the disclosure. In summary, the specification should not be interpreted as a limit to the disclosure.