Java 基于TCP协议的Socket编程 —— 服务器端程序
程序员文章站
2022-03-15 21:21:16
...
完成功能: (1)服务器先运行起来; (2)客户端连接服务器,从键盘输入数据,然后发送到服务器; (3)服务器回应所收到的信息。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.OutputStream;
public class Main {
public static void main(String[] args) throws IOException{
//创建Socket对象
ServerSocket ss = new ServerSocket(1000); //1000是特定的端口
while(true){
Socket socket = ss.accept();
System.out.println("socket信息:" + socket);
InputStream is = (InputStream) socket.getInputStream();
OutputStream os = (OutputStream) socket.getOutputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
PrintWriter out = new PrintWriter(os);
//下一步读取客户端传来的数据,然后写出去
String strtmp = null;
StringBuffer sbuf = new StringBuffer();
// 实际读取数据
while(!("exit").equals(strtmp = in.readLine())){
sbuf.append(strtmp); // 如果输入的不是 exit 就把内容添加到 sbuf 中
}
// 写数据
System.out.println("服务器输出的信息是:" + sbuf.toString());
out.println("服务器端获取的信息是" + sbuf.toString());;
// 关闭输入输出流、套接字
out.close();
in.close();
is.close();
os.close();
socket.close();
}
}
}