📄 server.java
字号:
import java.net.*;
import java.io.*;
public class Server implements Runnable
{
ServerSocket ss;//创建要使用的所有对象
Socket s;
BufferedReader br;
PrintWriter pw;
BufferedReader br_in;
Thread t;
public Server()
{
try
{
ss=new ServerSocket(4444);//创建服务器
System.out.println("服务器创建成功!!!等待客户的加入……");
s=ss.accept();//同意客户的加入,将这个客户交给s来服务
System.out.println("客户已经加入,正在打开网络通道!");
br=new BufferedReader(new InputStreamReader(s.getInputStream()));//打开网络输入流
pw=new PrintWriter(s.getOutputStream());//打开网络输出流
br_in=new BufferedReader(new InputStreamReader(System.in));//打开键盘输入流
System.out.println("数据通道创建成功,可以开始通信!");
t=new Thread(this);
t.start();//启动接收线程
}catch(Exception e){}
}
public void out()//向客户发出信息
{
String msg;
while(true)//做死循环,因为要永远有发信息的功能
{
try
{
System.out.println("请输入你想发送的信息:");//提示用户输入信息
msg=br_in.readLine();//读取键盘上输入的信息
pw.println(msg);//将这个信息发到网络的另一端
pw.flush();//清空缓冲区
}catch(Exception e){}
}
}
public void run()
{
String msg;
while(true)//死循环,因为需要永远用收信息的功能
{
try
{
msg=br.readLine();//从网络的另一端读取信息
System.out.println("收到客户发来的信息:"+msg);//将信息显示到屏幕上
}catch(Exception e){}
}
}
public static void main(String args[])
{
Server my=new Server();//创建这个类的对象,同时也启动了收信息线程
my.out();//手动调用发信息的方法
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -