📄 tcpservertest.java
字号:
//TCPServerTest.java
import java.io.*;
import java.net.*;
public class TCPServerTest {
public static void main(String[]args) {
ServerSocket svrSocket = null; //监听套接字
Socket comSocket = null; //通信套接字
BufferedReader is = null; //流读取对象
DataOutputStream os = null; //流写对象
String line;
int PORT = 6543; //监听端口,可以给参数修改
if (args.length > 0) { //如果要改端口
try {
PORT = Integer.parseInt(args[0]);
}catch(Exception e) {
System.out.println("端口必须为数字!");
return;
}
}
try {
svrSocket = new ServerSocket(PORT); //创建监听套接字
System.out.println("Server Listening...");
}catch(IOException e) {
System.out.println(e);
}
try {
comSocket = svrSocket.accept(); //接受客户端的请求,会阻塞程序
is = new BufferedReader(new InputStreamReader(
comSocket.getInputStream())); //获得读对象
os = new DataOutputStream(comSocket.getOutputStream()); //获得写对象
}catch(IOException e) {
e.printStackTrace();
}
try {
line = is.readLine(); //读取客户端发送的数据
System.out.println("Server received: " + line); //输出收到的内容
if (line.equals("Hello")) { //检查是否为可识别的内容
os.writeBytes("OK,welcome!\n"); //如果是,发送欢迎信息
} else { //否则,发送警告信息
os.writeBytes("Sorry,I don't understand your language.\n");
}
}catch(IOException e) {
e.printStackTrace();
}
try { //关闭所有对象
os.close();
is.close();
comSocket.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -