zoukankan      html  css  js  c++  java
  • ServerSocket的建立和使用

    -------------siwuxie095

       

       

       

       

       

       

       

    工程名:TestMyServerSocket

    包名:com.siwuxie095.socket

    类名:MyServerSocket.java

       

       

    工程结构目录如下:

       

       

       

       

       

    代码:

       

    package com.siwuxie095.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 {

    //创建一个ServerSocket对象,并指定端口:12345

    //端口的范围:1~65535,通常都指定较大的数字,

    //这样和较小的或系统预留的端口分开

    //有异常抛出,用 try catch 捕获

    ServerSocket serverSocket=new ServerSocket(12345);

    //ServerSocket创建完成后需要侦听客户端的连接

    //调用accept()方法,这是一个阻塞的方法,

    //会阻塞当前的主线程:main,这么写并不严谨,不可取,

    //对于有阻塞的代码,应该放到独立的线程中

    //(这里仅作演示,就不放到独立的线程里了)

    //返回值是Socket类型,创建以接收返回值

    //accept()被执行且socket被赋值,说明有客户端连接

    Socket socket=serverSocket.accept();

    //建立连接时

    //弹出提示框:有客户端连接到本机的 12345 端口

    JOptionPane.showMessageDialog(null, "有客户端连接到本机的 12345 端口");

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

       

    }

       

       

    运行后,终止按钮(Terminate)长亮,即 当前程序正在运行 且 没有停止

       

       

    而且,此时也没有任何提示框,即当前程序被阻塞

    Socket socket=serverSocket.accept();

       

       

       

    打开浏览器,在地址栏输入:127.0.0.1:12345 localhost:12345

    (即 本机地址+端口),回车。此时,会弹框提示:

       

       

       

       

    点击 确定,程序运行结束

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    Android开发学习总结(一)——搭建最新版本的Android开发环境
    EntityFramework 6
    EntityFramework优缺点
    十分钟轻松让你认识Entity Framework 7
    SqlServer中的merge操作(转载)
    python打印即时输出的方法
    我的人工智能机器人的游戏
    网络编程的一些知识
    hdu4722 Good Numbers
    hdu4727 The Number Off of FFF
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/6652355.html
Copyright © 2011-2022 走看看