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 { //端口的范围: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】
ServerSocket的建立和使用的更多相关文章
- Socket 基础解析使用ServerSocket建立聊天服务器
很简单的教程哦! 1.socket 简介 Socket 又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求.ServerSocket 用于 ...
- 使用ServerSocket建立聊天服务器(一)
-------------siwuxie095 工程名:TestMyServerSocket 包名:com.siwuxie095.socket ...
- 使用ServerSocket建立聊天服务器(二)
-------------siwuxie095 工程名:TestMyServerSocket 包名:com.siwuxie095.socket 类名:M ...
- 使用 ServerSocket 建立聊天服务器-2
1. 从serverListener中可以看出,每一个客户端创建新的请求之后,都会把它分配给一个独立的chatsocket ,但是每一个ChatSocket都是相互独立的,他们之间并不能沟通,所以要新 ...
- 使用 ServerSocket 建立聊天服务器-1
1.代码目录 2.ChatSocket.java --------------------------------------------------------------------------- ...
- Java 中使用serversocket通信
1. 创建一个Java项目 TestMyServerSocket. 2. 创建一个包 com.weloglog.main 3. 创建一些使用到的类 程序启动类 MyServerSccket : 用来启 ...
- JAVA通信系列一:Java Socket技术总结
本文是学习java Socket整理的资料,供参考. 1 Socket通信原理 1.1 ISO七层模型 1.2 TCP/IP五层模型 应用层相当于OSI中的会话层,表示层, ...
- 详解web容器 - Jetty与Tomcat孰强孰弱
Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器.它有一个基本数据模型,这个数据模型就是 Handler(处理器 ...
- socket通信
socket通信 一:socket基于Tcp连接,数据传输有保证 二:socket连接的建立过程: 1:服务器监听 2:客户端发出请求 3:建立连接 4:通信 三:一个简单的例子:服务器端每隔一段时间 ...
随机推荐
- 解决Navicat连接mysql报错:1862 - Your password has expired. To log in you must change it using a client that supports expired passwords.
今天尝试用Navicat连接mysql时,发现一个1862的报错问题: 后来参照这篇文章https://blog.csdn.net/u010513756/article/details/5073501 ...
- 后勤LO采购数据源增强
EIS采购数据源增强 1. 2LIS_02_HRD增强 1.1. 在标准数据源上增加字段 事务代码:LBWE 激活数据源字段 激活数据源 1.2. 在结构MC02M_0H ...
- toggle input radio
$(function(){ $('input[name="rad"]').click(function(){ var $radio = $(this); // if this wa ...
- Spring_总结_02_依赖注入
一.前言 本文承接上一节:Spring_总结_01_Spring概述 在上一节中,我们了解了Spring的最根本使命.四大原则.六大模块以及Spring的生态. 这一节我们开始了解Spring的第二大 ...
- 解决Opencv高低版本不兼容问题
目前OpenCV版本已更新到2.4...由此出现了一系列问题,解决如下: 1.cxcore.h等头文件找不到: 法一.将opencv1.0中的各种.h或者.lib文件拷到opencv2.3.1对应in ...
- Shiro-从数据表中初始化资源和权限
我们在 applicationContext中配置受保护的资源和权限的关系 <property name="filterChainDefinitions"> <v ...
- 加密第四节_IPSec基本理论
加密第四节_IPSec基本理论 本节内容 IPSec简介 IPSec两种工作模式 判断隧道模式和传输模式 IPSec两种模型 IPSec两个数据库 IPSec基本理论 IPSec简介 提供了网络层的安 ...
- 上传文件csv 导入功能
HTML代码: <script> function uploadCsv() { $('#chooseCsvFile').click(); } function doUploadCsv() ...
- DB字段顺序与类的属性顺序一致:{Oracle.DataAccess.Client.OracleException ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER
{Oracle.DataAccess.Client.OracleException ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER 应用程序中类型T ...
- Linux 驱动编程知识
1.包含的头文件 1.1 GPIO相关操作 #include <asm/arch/gpio.h>