zoukankan      html  css  js  c++  java
  • ServerSocket

    1.创建java project

     2.编写MyServerSocket.java类

    package com.nantian.socket;

    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;

    import javax.swing.JOptionPane;

    public class MyServerSocket {

    public static void main(String[] args) {
    try {
    //port取值范围:1-65535(通常取值较大,这样可以和系统的分开)
    ServerSocket serverSocket=new ServerSocket(12345);
    //监听客户端的连接
    //accept()为一个阻塞的方法,会阻塞当前的主线程,显然不合适,对于阻塞的方法应该另起一个线程
    //ServerSocket的accept()方法是侦听并接受到此套接字的连接,
    //就是一直等待连接,此方法在连接传入之前一直阻塞。直到接受到有socket的连接。
    Socket socket=serverSocket.accept();
    //建立连接
    JOptionPane.showMessageDialog(null, "有客户端连接到了本机的12345端口");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    }

    package com.nantian.socket;

    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;

    import javax.swing.JOptionPane;

    public class MyServerSocket {

    public static void main(String[] args) {
    try {
    //port取值范围:1-65535(通常取值较大,这样可以和系统的分开)
    ServerSocket serverSocket=new ServerSocket(12345);
    //监听客户端的连接
    //accept()为一个阻塞的方法,会阻塞当前的线程
    //ServerSocket的accept()方法是侦听并接受到此套接字的连接,
    //就是一直等待连接,此方法在连接传入之前一直阻塞。直到接受到有socket的连接。
    Socket socket=serverSocket.accept();
    //建立连接
    JOptionPane.showMessageDialog(null, "有客户端连接到了本机的12345端口");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    }

    3.右键run as -->java application

    main线程处于阻塞状态:

     浏览器端输入:127.0.0.1/12345

    出现如下图:

     ===================================================================================================================================

    //accept()为一个阻塞的方法,会阻塞当前的主线程,显然不合适,对于阻塞的方法应该另起一个线程

    代码改进:(见)

    使用 ServerSocket 建立聊天服务器-1

  • 相关阅读:
    PAT Advanced 1044 Shopping in Mars (25) [⼆分查找]
    PAT Advanced 1029 Median (25) [two pointers]
    PAT Advanced 1010 Radix(25) [⼆分法]
    PAT Basic 1070 结绳(25) [排序,贪⼼]
    PAT Basic 1023 组个最⼩数 (20) [贪⼼算法]
    PAT Basic 1020 ⽉饼 (25) [贪⼼算法]
    PAT Advanced 1070 Mooncake (25) [贪⼼算法]
    PAT Advanced 1067 Sort with Swap(0,*) (25) [贪⼼算法]
    PAT Advanced 1038 Recover the Smallest Number (30) [贪⼼算法]
    PAT Advanced 1037 Magic Coupon (25) [贪⼼算法]
  • 原文地址:https://www.cnblogs.com/curedfisher/p/11934457.html
Copyright © 2011-2022 走看看