?? 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
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 + -