美文网首页Java技术日志云时代架构
JavaSocket编程单客户端与多客户端实现

JavaSocket编程单客户端与多客户端实现

作者: 梁朋举 | 来源:发表于2017-08-09 17:03 被阅读142次

1.JavaSocket相关API

构造方法
Socket():创建一个无连接socket,使用系统默认类型SocketImpl
Socket(InetAddress address, int port):创建一个流套接字,使用指定端口号和IP地址进行连接
Socket(InetAddress address, int port,InetAddress localAddr, int localPort):创建一个套接字并将其连接到指定远程地址上的指定远程端口
Socket(String host, int port):创建一个流套接字,连接到指定端口和命名主机
Socket(String host, int port,InetAddress localAddr, int localPort):创建一个套接字,并使用指定的远程端口连接到指定的远程主机
说明:在构造方法中,host、address和port分别指在双向连接中另一方的主机、IP地址和端口号;stream指明是流socket还是数据报socket;localPort表示本地主机的端口号;localAddr和bindAddr是本地机器的地址;SocketImpl是socket的父类,既可以用来创建ServerSocket,又可以用来创建Socket;count则表示服务端所能支持的最大连接数。

常用方法
void bind(SocketAddress**** bindpoint)
功能:绑定socket到本地地址。
例如:socket.bind(bindpoint)
void close()
功能:关闭socket。
例如:socket. close ();
InetAddress getInetAddress()
功能:返回某个socket所连接的地址
例如:InetAddress address = socket.getInetAddress()
InputStream getInputStream()
功能:获得socket连接输入,同时返回一个InputStream对象实例
例如: bufferedReader= new BufferedReader(newInputStreamReader(socket.getInputStream(),"UTF-8"))
OutputStream getOutputStream()
功能:socket连接的另一端将得到输入,同时返回一个OutputStream对象实例
**例如:printWriter= new PrintWriter(socket.getOutputStream());
int getPort()
功能:获取socket连接端口号。
例如:socket. getPort();
boolean isClosed()
功能:获取socket连接是否关闭,已关闭返回true。
例如:socket. isClosed();
boolean isConnected()
功能:获取socket连接是否是连接状态,已连接返回true。
例如:socket. isConnected();


2.单客户端实例

基本的单客户端/单服务器端程序,主要实现服务器端一直监听某个端口,并等待客户端连接请求。客户端使用IP和Port连接服务器端,并向服务器端"say Hello",并接收到服务器端返回信息,结束对话。该服务器端只能接受一个客户端连接。
SocketClient客户端


SocketClient客户端

SocketServer服务端


SocketServer服务端

3.多客户端实例

服务器端程序Server监听某一个端口,当客户端Client1发起连接请求时,Server接收请求,同时构造一个线程类,用于同Client1进行会话。当一个新的客户端Client2发起请求时,同样处理,服务器Server处理每个请求并分别返回消息,若客户端申请关闭,则服务器关闭该连接,双方通信结束。
SocketClient客户端


SocketClient客户端

SocketServer服务端


SocketServer服务端

本订阅号提供Java相关技术分享,从Java编程基础到Java高级技术,从JavaWeb技术基础Jsp、Servlet、>JDBC到SSH、SSM开发框架,从REST风格接口设计到分布式项目实战。剖析主流开源技术框架,用亲身
实践来谱写深度Java技术日志。

Java技术日志

欢迎关注 Java技术日志 微信订阅号

相关文章

  • JavaSocket编程单客户端与多客户端实现

    1.JavaSocket相关API 构造方法①Socket():创建一个无连接socket,使用系统默认类型Soc...

  • 2019-04-05

    网络编程进阶整理 案例一:实现客户端与服务端的交互 频繁的客户端与服务端的通信 需求: 1.客户端通过键盘录入发送...

  • 基于多线程与 Socket 实现的聊天系统 v1.0(多线程、命

    复习 Java 网络编程写的小 Demo 服务端 服务端实现 客户端 客户端实现

  • Java中的网络编程

    目的 1、熟练掌握Java语言的网络编程2、学会代码实现客户端与服务器端、客户端与客户端、两台不同计算机之间的数据...

  • Netty笔记之三:Netty实现Socket编程

    netty实现Tcp Socket编程。 demo实现功能客户端向服务端发送消息,服务器接收到消息后向客户端响应。...

  • 实现Android与服务器端互发数据

    编写Android端为客户端的简易app,用电脑端作服务端,实现客户端与服务端互发字符串。利用Socket网络编程...

  • 利用python Socket实现udp聊天室

    效果图: 使用Python socket编程实现简单的聊天室功能。 服务器和客户端使用UDP编程,客户端两个线程一...

  • net/http

    http 包实现了http客户端与服务端的实现 1.创建http客户端 2.客户端发起get,post,postF...

  • 网络编程

    ## 客户端-服务器编程模型 客户端与服务器均指进程。 一个客户端-服务器事务由四步组成: 1. 客户端发送请求 ...

  • WKWebView 背景透明方案

    说明:需要客户端与H5配合才能实现如下效果: 客户端代码: Html代码: 直播客户端效果截图:

网友评论

    本文标题:JavaSocket编程单客户端与多客户端实现

    本文链接:https://www.haomeiwen.com/subject/cvjqrxtx.html