📄 logon.java
字号:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class logon extends Thread{
ChipChat server;
BufferedReader in;
PrintWriter out;
Socket client;
UserInfo [] userinfo;
int k;
String name,ip;
public logon(Socket socket,ChipChat cc,UserInfo [] ui)
{
server = cc;
client = socket;
userinfo = ui;
try
{
in = new BufferedReader(new InputStreamReader(client.getInputStream()));
out = new PrintWriter(client.getOutputStream());
server.processMsg("连接成功");
}catch(IOException Te)
{
Te.printStackTrace();
server.processMsg("连接失败");
}
}
/*
* run()方法实现对回应的TCP连接的信息的接收,并且完成对UserInfo信息的保存
*/
public void run()
{
String msg = null;
try
{
msg = receiveMsg();
msg = receiveMsg();
name = msg;
msg = receiveMsg();
ip = msg;
{
k = server.lstFriend.getItemCount();
userinfo[k] = new UserInfo(name,ip);
}
server.processFriend(userinfo[k].getName());
msg = receiveMsg();
/*
* 所有信息接收完毕,关闭端口
*/
in.close();
out.close();
client.close();
}catch(IOException Te2)
{
try
{
in.close();
out.close();
client.close();
}
catch(IOException ee)
{
ee.printStackTrace();
}
Te2.printStackTrace();
}
finally
{
try
{
in.close();
out.close();
client.close();
}
catch(IOException ee)
{
ee.printStackTrace();
}
}
}
public String receiveMsg()throws IOException//接收数据
{
String msg = new String();
try
{
msg = in.readLine();
}catch(IOException e)
{
in.close();
out.close();
client.close();
msg = new String("---");
e.printStackTrace();
}
return msg;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -