📄 host.java
字号:
import java.awt.*;
import java.net.*;
import java.util.*;
import java.io.*;
public class Host
{ final static int WAIT_TIMEOUT = ( 1000 );
public static String sentence;
public static String modifiedSentence="";
public static BufferedReader inFromUser;
public static Socket clientSocket;
public static DataOutputStream outToServer;
public static BufferedReader inFromServer;
public Host()
{}
public String getString() {return modifiedSentence;}
synchronized private static int getResponse() throws IOException
{
TimeoutRead thread = new TimeoutRead( inFromServer );
//thread.setBuffer("");
thread.start();
try
{
thread.join( WAIT_TIMEOUT );
}
catch( InterruptedException e )
{
}
if( thread.isComplete() && thread.getBuffer().charAt(0)=='A' )
{
return 1;
}
return 0;
// nothing in buffer
}
public static void main(String arg[]) throws Exception
{//
int x;
//
while(true){ System.out.println("send data:");
inFromUser = new BufferedReader (new InputStreamReader ( System.in ));
sentence = inFromUser.readLine();
while(true){
clientSocket = new Socket("127.0.0.1",4000);
inFromServer = new BufferedReader (new InputStreamReader (
clientSocket.getInputStream()));
outToServer = new DataOutputStream (
clientSocket.getOutputStream());
outToServer.writeBytes(sentence + '\n');
modifiedSentence = inFromServer.readLine();
x=getResponse();
if(x==1)
{
System.out.println("sended!");
break;
}
else { System.out.println("re_send:"); }
}
}
}
}
class TimeoutRead extends Thread
{
private String s = new String( "" );
private String buffer = new String( "" );
private BufferedReader input;
private boolean complete = false;
synchronized String getBuffer() { return buffer; }
synchronized void setBuffer(String s) { buffer=s; }
Host ttt=new Host();
synchronized public boolean isComplete()
{
return complete;
}
public TimeoutRead( BufferedReader i )
{
input = i;
}
public void run() // do input in thread
{
s=ttt.getString();
complete = true;
do
{
setBuffer(s);
} while (getBuffer().charAt(0)=='A');
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -