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

📄 myserver.java

📁 一个简单的java Socket通讯实例
💻 JAVA
字号:
//源文件名:myServer.java
//在下载源程序中的文件夹:1104Socket通讯实例服务器端
import java.net.*;
import java.io.*;
public class myServer implements Runnable
{
    ServerSocket server;
    Socket clientSocket;
    boolean end = false;                 //结束标记end = true结束
    Thread c;                            //向客户器端发送信息的线程
    BufferedReader sIn;
    DataOutputStream sOut;
    public static void main(String args[])
    {
        new myServer().ServerStart();
    }
    public void ServerStart()
    {
        try
        {
            server = new ServerSocket(5678);
            System.out.println("使用端口号:"+server.getLocalPort());
            while(! end)
            {
                clientSocket = server.accept();
                System.out.println("已与客户端建立连接!");
                InputStream inStream = clientSocket.getInputStream();
                sIn = new BufferedReader(new InputStreamReader(inStream));
                OutputStream outStream = clientSocket.getOutputStream();
                sOut = new DataOutputStream(outStream);
                c = new Thread(this);
                c.start();               //启动线程,向客户器端发送信息
                String aline;
                while((aline=sIn.readLine())!=null) //接收客户端的数据
                {
                    System.out.println("客户说:" + aline);
                    if(aline.equals("bye") | aline.equals("再见"))
                    {
                        end = true;
                        c.interrupt();  //线程中断
                        break;
                    }
                }
                sOut.close();            //关闭流
                outStream.close();
                sIn.close();
                inStream.close();
                clientSocket.close();	 //关闭Socket连接
                System.exit(0);          //程序运行结束
            }
        }
        catch(Exception e)
        {
            System.out.println("客户端出错!Ctrl + c 退出");
        }
    }
    public void run()
    {
        while(true)
        {
            try
            {
                int ch;
                while(true)
                {                     //从键盘接收字符并向客户端发送
                    ch=System.in.read();
                    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 + -