1.客户端

1.客户端

Login类、Talk Face类保持不变。

【代码11.3】LoginFace类

代码11.3-1

代码11.3-2

创建和服务器端的网络连接这个功能是需要在打开登录界面的时候就要完成的,并且只需要执行一次。这里把创建网络连接的语句写在构造方法中,见代码11.3的第9行。构造方法是类中的一种特殊方法:第一,构造方法的方法名和类名一模一样,并且没有返回值;第二,构造方法是在创建这个类的对象时,自动调用的也就是说,代码11.3的第9行开始的构造方法是在创建new LoginFace()时自动调用的,new Login Face()在Login类中。

在构造方法里写的就是客户端和服务器创建网络连接的内容。这部分内容是在创建LoginFace类的对象时自动调用构造方法的时候执行的,而且只执行一次。

当用户单击“登录”按钮时,客户端将用户输入的用户名和密码发送给服务器端进行登录验证。这里串接了一个字符串:“longin@用户名@密码”,见代码11.3的第80行。特殊符号“@”将字符串分成三部分:第一部分是功能字符串(说明当前是在登录);第二部分是用户名;第三部分是密码。服务器端收到字符串后,再用“@”将字符串拆分为三部分,服务器端根据功能字符串,对用户名和密码进行登录检查。

服务器端进行登录检查后,将登录成功与否的回复发送给客户端,客户端进行接收。如果服务器回复的字符串是“login OK”,客户端就打开聊天界面,关闭登录界面;如果服务器回复的字符串是“login NO”,客户端就给出登录失败的提示窗,清空用户名和密码输入框,等待重新登录,见代码11.3的第82行到第94行。