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

  • 相关阅读:
    CentOS配置epel源
    找到占用CPU最高的Java线程
    awk内建函数
    GIT速查手册
    MySQL闪回工具之binlog2sql
    CentOS设置时区
    CentOS下Python管理
    MySQL主从复制
    内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性
    jdbctemplate
  • 原文地址:https://www.cnblogs.com/curedfisher/p/11934457.html
Copyright © 2011-2022 走看看