Java中的Socket通信(二)ServerSocket的建立与使用

简介:

在Eclipse当中创建一个Java项目TestMyServerSocket

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package  com.yeqc.testmyserversocket.main;
 
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) {
         //1-65535
         try  {
             ServerSocket serverSocket =  new  ServerSocket( 54321 );
//          serverSocket.accept();//调用accept()侦听客户端的连接
             /**
              *accept()是一个阻塞的方法,所以在这里它会阻塞当前的线程
              *既然它会阻塞当前的main线程,在这里创建的原因是在这里只做演示
              *这样写其实并不严谨,在以后会以正确的方法把它写出来
              *
              *在当前的ServerSocket已经在监听本机的12345这个端口了
              *当这个端口它的accept()被调用之后,也就是说有客户端连接到了这个端口
              */
             
             Socket socket = serverSocket.accept();
             //建立连接
             /**
              * 一旦accept()被执行,并且socket被赋值了,这就说明已经有客户端连接了
              */
             
             JOptionPane.showMessageDialog( null "有客户端连接到了本机的12345端口" );
             //弹出提示框
         catch  (IOException e) {
             e.printStackTrace();
         }
         
     }
 
}

    此时可以看到当前的程序是在运行并且没有停止,而且没有输出任何提示框,所以可以看出当前的程序是被阻塞在了语句:serverSocket.accept();

    然后打开浏览器,在地址栏中输入127.0.0.1:54321(127.0.0.1代表读取本机的地址,冒号后面代表要读取的端口),可以看到弹出的提示框。


本文转自yeleven 51CTO博客,原文链接:http://blog.51cto.com/11317783/1769508


相关文章
|
2月前
|
Python
python socket 简单通信
python socket 简单通信
40 1
|
2月前
|
网络协议 安全 网络安全
网络编程:基于socket的TCP/IP通信。
网络编程:基于socket的TCP/IP通信。
153 0
|
6天前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
16 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
10天前
|
网络协议 安全 Java
Java Socket原理
Java Socket原理是指在Java中通过Socket实现的网络通信的基础理论与机制。Socket是网络中不同设备间通信的一种标准方式,它允许应用程序之间通过TCP/IP等协议进行数据交换。在Java中,利用Socket编程可以方便地创建客户端与服务器端应用,实现跨网络的数据传输功能,是互联网软件开发中的重要技术之一。它支持多种通信模式,如可靠的流式套接字(TCP)和数据报式套接字(UDP)。
|
8天前
|
Java
用java实现Client和Server之间的互相通信
本文介绍了如何使用Java实现客户端和服务器之间的通信,包括服务器端创建ServerSocket、接受客户端连接、读取和发送消息,以及客户端创建Socket连接、发送和接收消息的完整过程。
11 0
用java实现Client和Server之间的互相通信
|
1月前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【9月更文挑战第14天】网络协议是机器间交流的约定格式,确保信息准确传达。主要模型有OSI七层与TCP/IP模型,通过分层简化复杂网络环境。IP地址全局定位设备,MAC地址则在本地网络中定位。网络分层后,数据包层层封装,经由不同层次协议处理,最终通过Socket系统调用在应用层解析和响应。
|
22天前
|
传感器 网络协议 Java
三大硬核方式揭秘:Java如何与底层硬件和工业设备轻松通信!
大家好,我是V哥。最近与一位从事工业互联网项目的学员交流,启发我分享Java如何与底层硬件和工业设备通信。本文将介绍三种方法:1)使用`jLibModbus`库通过Modbus协议读取设备寄存器数据;2)使用JNI(Java Native Interface)直接访问硬件;3)使用`JSerialComm`库通过串口通信读取数据。每种方法都有详细步骤和示例代码,帮助你轻松实现与硬件设备的通信。无论是工业自动化还是物联网应用,这些方法都能派上用场。欢迎关注和支持!
|
2月前
|
消息中间件 Java API
解密微服务架构:如何在Java中实现高效的服务通信
微服务架构作为一种现代软件开发模式,通过将应用拆分成多个独立的服务,提升了系统的灵活性和扩展性。然而,实现微服务之间的高效通信仍然是许多开发者面临的挑战。本文将探讨在Java环境中实现微服务架构时,如何使用不同的通信机制来优化服务之间的交互,包括同步和异步通信的方法,以及相关的最佳实践。
|
2月前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【8月更文挑战第27天】网络协议定义了机器间通信的标准格式,确保信息准确无损地传输。主要分为两种模型:OSI七层模型与TCP/IP模型。
|
2月前
|
存储 安全 Java
【多线程面试题 七】、 说一说Java多线程之间的通信方式
Java多线程之间的通信方式主要有:使用Object类的wait()、notify()、notifyAll()方法进行线程间协调;使用Lock接口的Condition的await()、signal()、signalAll()方法实现更灵活的线程间协作;以及使用BlockingQueue作为线程安全的队列来实现生产者和消费者模型的线程通信。