-------------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 {

//端口的范围: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】

最新文章

  1. Cannot create file "C:\Users\Administrator\AppData\Local\Temp\EditorLineEnds.ttr"
  2. 再谈 $* 和 $@ 在 Bash 中的表现
  3. linux 监测函数
  4. ios基础篇(二十一)—— UIImagePickerController类
  5. babel 无法解析jsx (webpack react )
  6. cocos2d-x ScrollView、TableView
  7. 我也来玩玩WinForm~BeginInvoke让用户体验更好!
  8. Java---文件的切割与合并,已经实现图形界面(工具)
  9. 27 Java动态加载第三方jar包中的类
  10. js & jq 加载js
  11. QT序列化操作(比较复杂和完善)
  12. 前端——CSS笔记
  13. MySQL服务读取参数文件my.cnf的规律研究探索
  14. zookeeper快速入门
  15. ASP.NET Core微服务 on K8S学习笔记(第一章:详解基本对象及服务发现)
  16. 四大机器学习编程语言对比:R、Python、MATLAB、Octave
  17. C# 将DataTable转换成list (--分页--) 【Skip--Take】
  18. WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件
  19. shell进阶函数
  20. 初识vuejs

热门文章

  1. 防止php重复提交表单更安全的方法
  2. 利用Fiddler或Charles进行mock数据创造测试环境
  3. pthread_getspecific()--读线程私有数据|pthread_setspecific()--写线程私有数据
  4. windows文件名非法字符过滤检测-正则表达式
  5. NET持续集成与自动化部署
  6. C#进阶之路(二):事件
  7. mysql之 MySQL 主从基于position复制原理概述
  8. PhantomJS python 截屏
  9. 【转】 Pro Android学习笔记(八六):了解Package(5):使用lib
  10. 断路器之一:Hystrix 使用与分析