在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSocket serversocket = new ServerSocket(port);
在这里port是一个整形的数字,是SeverSocket要监听的端口。计算机的端口范围是1到65535,通常前面的端口都被常用程序占用了,所以我们可以选择靠后的端口,比如我选择的就是8080端口。写好之后程序会抛出异常,这时我们要加入try/catch.
因为ServerSocket一直在监听端口,所以我们要调用它的accept方法,可以阻塞当线程,它返回的是Socket对象。
Socket socket = serversocket.accept();
当然这里也要导入java.net.Socket包,这样如果服务器监听到了端口连接,就会执行这步程序,返回一个Socket对象。
我们可以再后面加一个返回测试下。
System.out.println("有程序连接了8080端口");
当我运行程序时,程序一直处于运行状态,但没有显示,然后我打开浏览器,在地址栏输入127.0.0.1:8080(127.0.0.1是本机地址,后面加8080是打开8080端口),点击回车,程序显示“有程序连接了8080端口”,然后停止运行。
分享到:
相关推荐
开一个输出流,用于向服务器发送数据,同时创建一个数据输入流,用于接收服务器...在开发过程中,理解 Socket 的工作原理和使用方法,以及如何处理网络通信中的异常情况,是成为一名合格的 Java 网络程序员的必要技能。
《浅谈VisualC++串口通信编程》这篇文章深入探讨了在Windows 32位环境下,如何使用Visual C++实现串口通信的编程方法。作者晁永生等人详细介绍了三种主要的串口通信策略,分析了它们的特点、适用场景以及各自的优...
在进行网络编程时,Socket通信是基础,而同步与异步、阻塞与非阻塞的概念则是理解Socket通信的关键。同步与异步关注的是程序调用的返回方式,而阻塞与非阻塞则涉及线程的状态。 同步与异步: 同步调用是一种同步...
在Android平台上,这需要实现对北斗短报文协议的支持,可能需要定制特定的socket通信库。 为了确保系统的稳定运行,开发者还需要考虑设备的续航能力和资源管理。由于船上电力有限,系统应优化能耗,如采用低功耗...
在示例中提到的`accept()`函数会返回一个新的连接对象,而不是关闭后的Socket,所以如果在`close()`后尝试使用旧的Socket,会出现“不能在非套接字上…”的错误。 总结起来,在Python中关闭Socket时,应该按照以下...
2.4 端口扫描 所谓端口扫描,就是利用Socket编程与目标主机的某些端口建立TCP连接、进行传输协议的验证等,从而侦知目标主机的扫描端口是否处于激活状态、主机提供了哪些效劳、提供的浅谈黑客与网络安全-全文共2页...
浅谈 C# Socket 编程及多线程是网络编程的一种高级主题。通过使用 Socket 编程,可以实现多线程编程。在这种方式下,客户端可以同时执行多个任务,而服务器端可以同时处理多个请求。 本资源涵盖了 C# Socket 编程的...
Socket是网络通信的核心,它封装了TCP和UDP等传输层协议,为开发者提供了一种简单易用的接口。在C#中,我们可以使用System.Net.Sockets命名空间中的Socket类来创建和操作Socket对象。例如,创建一个TCP服务器端...
浅谈NB-IOT网关对接的知识点可以总结为以下几个方面: 一、NB-IOT网关对接的架构 NB-IOT网关对接是指NB-IOT终端同网关平台的对接,包含NB-IOT网关同终端以及应用平台的对接。这个架构可以分为两个部分:南向对接和...
#### 四、浅谈C# Socket编程及多线程 - **多线程基础**: 多线程编程是提高程序并发能力的重要手段。了解如何在 C# 中创建和管理线程。 - **线程安全**: 在使用 Socket 进行网络通信时,需要注意线程间的数据共享和...
`socket.send(string[, flags])` 是一个基础的发送函数,它接收一个字符串参数(`string`)和可选的标志(`flags`)。这个函数尝试将数据发送到网络,但它的行为有些特殊:它可能不会一次性发送完所有数据。如果字符...
#### 四、浅谈C# Socket编程及多线程 ##### 4.2 内容详情 - **多线程在Socket编程中的应用**: - 介绍如何利用多线程提高Socket服务器的并发处理能力。 - 包括线程池、线程同步等关键技术点。 #### 五、Socket...
最后,套接字(Socket)是网络进程间通信的重要工具,它定义了进程在网络上的通信接口。套接字可以基于不同的网络协议(如TCP/IP),使得不在同一主机上的进程也能相互通信。套接字的类型、域和协议组合决定了其具体...
### 浅谈内存泄漏:初级分析与实例解析 在软件开发尤其是C/C++编程领域,内存管理是一项核心技能,不当的内存操作往往会导致程序运行不稳定,甚至崩溃。内存泄漏是其中最常见的问题之一,它指的是程序在申请内存后...
### 浅谈Java语言评价胜出的8大技术优势 #### 1. 强大的API支持 Java提供了非常丰富的API支持,包括网络编程中的Socket API、数据库操作中的SQL API、图形用户界面的Swing和AWT API等。这些API不仅功能强大而且...
不论是AMD的针脚式设计还是Intel的接触点式设计,一旦针脚弯曲或折断,都将导致CPU与主板无法正常通信。因此,在安装过程中要特别小心,防止任何不必要的物理损伤。 接着,是确定CPU的正确方向。CPU通常一面平滑且...
Binder是Android系统中实现进程间通信(IPC)的关键机制,相较于Linux系统中的管道、System V IPC、socket等其他IPC方式,Binder具有更高效、安全和灵活的优势。本文将深入探讨Binder的工作原理,以及如何在拥有root...