📄 t1.java
字号:
// telnet偺尨宍偲側傞僾儘僌儔儉T1.java
// 偙偺僾儘僌儔儉偼,巜掕偝傟偨傾僪儗僗偺億乕僩偵昗弨擖弌椡傪愙懕偟傑偡
// 巊偄曽java T1 僒乕僶傾僪儗僗億乕僩斣崋
// 婲摦偺椺java T1 kiku.fuis.fukui-u.ac.jp 80
// 廔椆偵偼僐儞僩儘乕儖C 傪擖椡偟偰偔偩偝偄
// 儔僀僽儔儕偺棙梡
import java.net.*;
import java.io.*;
// T1僋儔僗
// T1僋儔僗偼,僱僢僩儚乕僋愙懕偺娗棟傪峴偄傑偡
// StreamConnector僋儔僗傪梡偄偰僗儗僢僪張棟傪峴偄傑偡
public class T1 {
// 僜働僢僩偺弨旛
protected Socket serverSocket;//愙懕梡僜働僢僩
public OutputStream serverOutput;//僱僢僩儚乕僋弌椡梡僗僩儕乕儉
public BufferedInputStream serverInput;// 摨擖椡梡僗僩儕乕儉
// openConnection儊僜僢僪
//傾僪儗僗偲億乕僩斣崋偐傜僜働僢僩傪嶌傝僗僩儕乕儉傪嶌惉偟傑偡
public void openConnection(String host,int port)
throws IOException,UnknownHostException
{
serverSocket = new Socket(host, port);
serverOutput = serverSocket.getOutputStream();
serverInput
= new BufferedInputStream(serverSocket.getInputStream());
}
// main_proc儊僜僢僪
// 僱僢僩儚乕僋偲偺傗傝偲傝傪偡傞僗儗僢僪傪僗僞乕僩偝偣傑偡
public void main_proc()
throws IOException
{
try {
// 僗儗僢僪梡僋儔僗StreamConnector偺僆僽僕僃僋僩傪惗惉偟傑偡
StreamConnector stdin_to_socket =
new StreamConnector(System.in, serverOutput);
StreamConnector socket_to_stdout =
new StreamConnector(serverInput, System.out);
// 僗儗僢僪傪惗惉偟傑偡
Thread input_thread = new Thread(stdin_to_socket);
Thread output_thread = new Thread(socket_to_stdout);
// 僗儗僢僪傪婲摦偟傑偡
input_thread.start();
output_thread.start();
}
catch(Exception e){
System.err.print(e);
System.exit(1);
}
}
// main儊僜僢僪
// TCP 僐僱僋僔儑儞傪奐偄偰張棟傪奐巒偟傑偡
public static void main(String[] arg){
try {
T1 t = null;
t = new T1();
t.openConnection(arg[0], Integer.parseInt(arg[1]));
t.main_proc();
}catch(Exception e){
e.printStackTrace();
System.exit(1);
}
}
}
// StreamConnector僋儔僗
// 僗僩儕乕儉傪庴偗庢傝丆椉幰傪寢崌偟偰僨乕僞傪庴偗搉偟傑偡
// StreamConnector僋儔僗偼僗儗僢僪傪峔惉偡傞偨傔偺僋儔僗偱偡
class StreamConnector implements Runnable {
InputStream src = null;
OutputStream dist = null;
// 僐儞僗僩儔僋僞擖弌椡僗僩儕乕儉傪庴偗庢傝傑偡
public StreamConnector(InputStream in, OutputStream out){
src = in;
dist = out;
}
// 張棟偺杮懱
// 僗僩儕乕儉偺撉傒彂偒傪柍尷偵孞傝曉偟傑偡
public void run(){
byte[] buff = new byte[1024];
while (true) {
try {
int n = src.read(buff);
if (n > 0)
dist.write(buff, 0, n);
}
catch(Exception e){
e.printStackTrace();
System.err.print(e);
System.exit(1);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -