A method for establishing a session, wherein the method comprises, at a server: receiving (S101, S301) a session request sent from a first user via a terminal; obtaining a session target, i.e., a second user, to the first user; and sending (S103, S305) an identifier of the second user to the terminal so that the terminal establishes a session between the first user and the second user; wherein the identifier is used for the terminal to distinguish a session target of the first user, and the identifier is invisible to the first user, wherein receiving the session request comprises: recording a timing at which the session request of the first user is received as a first timing; and wherein obtaining the session target comprises; performing matching to obtain the session target, by; determining (S302-1) whether a session target matching to the first user is recorded in a locally stored register table; and if a session target matching to the first user is recorded in the locally stored register table, using (S302-2) the session target matching to the first user recorded in the locally stored register table as the real-time session target matching to the first user; and if a session target matching to the first user is not recorded in the locally stored register table, searching for a user who sends a session request at a timing closest to and prior to the first timing, wherein when the said user is found, selecting the said user as the session target, i.e. as the second user; wherein the real-time session target matching to the first user is a user who sends a session request within a first duration range prior to the first timing. receiving (S101, S301) a session request sent from a first user via a terminal; obtaining a session target, i.e., a second user, to the first user; and sending (S103, S305) an identifier of the second user to the terminal so that the terminal establishes a session between the first user and the second user; wherein the identifier is used for the terminal to distinguish a session target of the first user, and the identifier is invisible to the first user, wherein receiving the session request comprises: recording a timing at which the session request of the first user is received as a first timing; and wherein obtaining the session target comprises; performing matching to obtain the session target, by; determining (S302-1) whether a session target matching to the first user is recorded in a locally stored register table; and if a session target matching to the first user is recorded in the locally stored register table, using (S302-2) the session target matching to the first user recorded in the locally stored register table as the real-time session target matching to the first user; and if a session target matching to the first user is not recorded in the locally stored register table, searching for a user who sends a session request at a timing closest to and prior to the first timing, wherein when the said user is found, selecting the said user as the session target, i.e. as the second user; wherein the real-time session target matching to the first user is a user who sends a session request within a first duration range prior to the first timing. recording a timing at which the session request of the first user is received as a first timing; and wherein obtaining the session target comprises; performing matching to obtain the session target, by; determining (S302-1) whether a session target matching to the first user is recorded in a locally stored register table; and if a session target matching to the first user is recorded in the locally stored register table, using (S302-2) the session target matching to the first user recorded in the locally stored register table as the real-time session target matching to the first user; and if a session target matching to the first user is not recorded in the locally stored register table, searching for a user who sends a session request at a timing closest to and prior to the first timing, wherein when the said user is found, selecting the said user as the session target, i.e. as the second user; wherein the real-time session target matching to the first user is a user who sends a session request within a first duration range prior to the first timing. determining (S302-1) whether a session target matching to the first user is recorded in a locally stored register table; and if a session target matching to the first user is recorded in the locally stored register table, using (S302-2) the session target matching to the first user recorded in the locally stored register table as the real-time session target matching to the first user; and if a session target matching to the first user is not recorded in the locally stored register table, searching for a user who sends a session request at a timing closest to and prior to the first timing, wherein when the said user is found, selecting the said user as the session target, i.e. as the second user; wherein the real-time session target matching to the first user is a user who sends a session request within a first duration range prior to the first timing.