inputthread.java
来自「用java写的浏览器的服务器和客户端程序」· Java 代码 · 共 99 行
JAVA
99 行
/**
* Email: taorundong@126.com
*
* @author taorundong
* @version 1.00 07/02/06
*/
import javax.swing.*;
import java.net.*;
import java.io.*;
public class InputThread extends Thread{
private
DataInputStream input = null;
DataOutputStream output = null;
String message = null;
Socket own = null;
JTextArea chatingContent = null;
InputThread(JTextArea text){
try{//here connect to server
own = new Socket((InetAddress.getLocalHost()),6000);
}
catch(Exception e){
e.printStackTrace();
//here will show the state window when unconnect to server
}
try{
input = new DataInputStream(own.getInputStream());
output = new DataOutputStream(own.getOutputStream());
}
catch(Exception e){
e.printStackTrace();
}
chatingContent = text;
init();
chat();
}
public void init(){
if(own.isConnected()){
try{
output.writeUTF(NameRequest.getClientName());
message = input.readUTF();
//System.out.println(getMessage());
chatingContent.append("\n"+message);
}
catch(Exception e){
e.printStackTrace();
initError();
}
}
}
public void chat(){
for(int i=0;i<10;i++){
try{
Thread.sleep(3000);
output.writeUTF("Hello");
message = input.readUTF();
//System.out.println("send"+getMessage());
chatingContent.append("send "+getMessage());
}
catch(Exception e){
e.printStackTrace();
chatError();
this.destroy();
}
}
try{
own.close();
}
catch(Exception e){
e.printStackTrace();
}
}
public String getMessage(){
return message;
}
public String initError(){//To show the chating information
return "Net init error!";
}
public String chatError(){
return "Error when chating!";
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?