zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java 基于TCP协议的Socket编程 —— 服务器端程序

JAVA程序编程TCP协议 基于 socket 服务器端
2023-06-13 09:17:22 时间

完成功能: (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();
		}
		
		
	}
}