📄 sample.txt
字号:
import java.net.*;
import java.io.*;
public class MyStreamSocket extends Socket {
private Socket socket;
private BufferedReader input;
private PrintWriter output;
MyStreamSocket(String acceptorHost,
int acceptorPort ) throws SocketException,
IOException{
socket = new Socket(acceptorHost, acceptorPort );
setStreams( );
}
MyStreamSocket(Socket socket) throws IOException {
this.socket = socket;
setStreams( );
}
private void setStreams( ) throws IOException{
// get an input stream for reading from the data socket
InputStream inStream = socket.getInputStream();
input =
new BufferedReader(new InputStreamReader(inStream));
OutputStream outStream = socket.getOutputStream();
// create a PrinterWriter object for character-mode output
output =
new PrintWriter(new OutputStreamWriter(outStream));
}
public void sendMessage(String message)
throws IOException {
output.println(message);
output.flush();
} // end sendMessage
public String receiveMessage( )
throws IOException {
String message = input.readLine( );
return message;
}
public void close( )
throws IOException {
socket.close( );
}
} //end class
import java.net.*;
import java.io.*;
public class Example5ConnectionRequestor {
public static void main(String[] args) {
if (args.length != 3)
System.out.println
("This program requires three command line arguments");
else {
try {
String acceptorHost = args[0]; //服务器的域名或IP地址
int acceptorPort = Integer.parseInt(args[1]); //服务器的端口号
String respond = args[2]; //反馈信息
MyStreamSocket mySocket =
new MyStreamSocket(acceptorHost, acceptorPort); // 初始化一个数据socket
System.out.println("Connection request granted");
String message = mySocket.receiveMessage( ); //等待接受信息
System.out.println("Message received:");
System.out.println("\t" + message);
mySocket.sendMessage(respond); //发送反馈信息
System.out.println("message sent");
mySocket.close( ); //关闭数据socket
System.out.println("data socket closed");
} // end try
catch (Exception ex) {
ex.printStackTrace( );
}
}
}
}
import java.net.*;
import java.io.*;
public class Example5ConnectionAcceptor {
public static void main(String[] args) {
if (args.length != 2)
System.out.println
("This program requires two command line arguments");
else {
try {
int portNo = Integer.parseInt(args[0]); //本程序所使用的端口号
String message = args[1]; //要发送的信息
ServerSocket connectionSocket = new ServerSocket(portNo);// 初始化一个socket 用于接收连接
System.out.println("now ready accept a connection");
MyStreamSocket dataSocket =
new MyStreamSocket(connectionSocket.accept()); //等待连接
System.out.println("connection accepted");
dataSocket.sendMessage(message); //发送信息
System.out.println("message sent");
String message1 = dataSocket.receiveMessage( ); //等待接受信息
System.out.println("Message received:");
System.out.println("\t" + message1);
dataSocket.close( ); //关闭数据socket
System.out.println("data socket closed");
connectionSocket.close( ); //关闭连接socket
System.out.println("connection socket closed");
} // end try
catch (Exception ex) {
ex.printStackTrace( );
} // end catch
} // end else
} // end main
} // end class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -