⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server1.java.bak

📁 Socket服务器端-客户端程序:客户端链接服务器后
💻 BAK
字号:
import java.net.*;
import java.io.*;
public class Server1 implements Runnable
{
    ServerSocket server = null;
    Socket clientSocket;
    boolean flag = true;                 //标记是否结束
    Thread c;                            //向客户器端发送信息的线程
    BufferedReader sin;
    DataOutputStream sout;
    public static void main(String args[])
    {
        new Server1().ServerStart();
    }
    public void ServerStart()
    {
        try
        {
            server = new ServerSocket(5678);
            System.out.println("端口号:"+server.getLocalPort());
            while(flag)
            {
                clientSocket = server.accept();
                System.out.println("已建立连接!");
                InputStream is = clientSocket.getInputStream();
                sin = new BufferedReader(new InputStreamReader(is));
                OutputStream os = clientSocket.getOutputStream();
                sout = new DataOutputStream(os);
                c = new Thread(this);
                c.start();               //启动线程,向客户器端发送信息
                String aline;
                while((aline=sin.readLine())!=null)
                {                        //接收客户端的数据
                     System.out.println(aline);
                     if(aline.equals("bye"))
                     {
                         flag = false;
                         c.interrupt();  //线程中断
                         break;
                     }
                }	
                sout.close();            //关闭流
                os.close();
                sin.close();
                is.close();
                clientSocket.close();	 //关闭Socket连接
                System.exit(0);          //程序运行结束 
            }
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
    }
    public void run()
    {
        while(true)
        {
            try
            {
                int ch;
                while((ch=System.in.read())!=-1)
                {                        //从键盘接收字符并向客户端发送
                    sout.write((byte)ch);
                    if(ch=='\n')
                        sout.flush();    //将缓冲区内容向输出流发送
                }
            }
            catch(Exception e)
            {
                System.out.println(e);
            }
        }
    }
    public void finalize()               //析构方法
    {
        try
        {
            server.close();                  //停止ServerSocket服务
        }
        catch(IOException e)
        {
            System.out.println(e);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -