JAVA Socket基础(简单实现)】的更多相关文章

学习Socket需要了解的几个概念: Socket 指的是互联网连接中的各个终结点.互联网连接是怎么创建的,通过IP地址加端口号,进行互通. A电脑(192.168.3.125:80)>>>>B电脑(192.168.3.111:80)   那么这一个个的Ip地址+端口号就是一个Socket(套接字.) Http协议:两台互联网的通讯需要遵守统一的应用层协议,通常指Http协议.应用层协议还有FTP协议,SMPT简单邮件协议等. 底层协议:IP/TCP协议.除了http需要遵守,还需…
接<java Socket实现简单在线聊天(一)>,在单客户端连接的基础上,这里第二步需要实现多客户端的连接,也就需要使用到线程.每当有一个新的客户端连接上来,服务端便需要新启动一个线程进行处理,从而解决之前的循环读取中造成阻塞的问题. 写线程通常有两种方法,集成Thread或者实现runnable接口,原则上是能实现runnable的情况下就不继承,因为实现接口的方式更加灵活. 客户端代码相较之前没有变化,变得是服务端,因此这里便只贴出服务端代码: package chat.chat; im…
最近的项目有一个在线网页交流的需求,由于很久以前做过的demo已经忘记的差不多了,因此便重新学习一下. 我计划的大致实现步骤分这样几大步: 1.使用awt组件和socket实现简单的单客户端向服务端持续发送消息: 2.结合线程,实现多客户端连接服务端发送消息: 3.实现服务端转发客户端消息至所有客户端,同时在客户端显示: 4.把awt组件生成的窗口界面改成前端jsp或者html展示的界面,java socket实现的客户端改为前端技术实现. 这里首先实现第一步的简单功能,难点在于: 1.没有用过…
Socket是Java网络编程的基础,了解还是有好处的, 这篇文章主要讲解Socket的基础编程.Socket用在哪呢,主要用在进程间,网络间通信.本篇比较长,特别做了个目录: 一.Socket通信基本示例 二.消息通信优化 2.1 双向通信,发送消息并接受消息 2.2 使用场景 2.3 如何告知对方已发送完命令 2.3.1 通过Socket关闭 2.3.2 通过Socket关闭输出流的方式 2.3.3 通过约定符号 2.3.4 通过指定长度 三.服务端优化 3.1 服务端并发处理能力 3.2…
在上一篇,利用线程使服务端实现了能够接收多客户端请求的功能,这里便需要客户端接收多客户端消息的同时还能把消息转发到每个连接的客户端,并且客户端要能在内容显示区域显示出来,从而实现简单的在线群聊. 在实现客户端转发,无非就是增加输出流:而之前客户端都只发不收,这里也需要更改客户端达到循环接收服务端消息的目的,因此也需要实现多线程. 在实现这个功能的时候,偶然想起随机生成验证码的功能,于是也灵机一动随机给每个客户端生成一个名字,从而在输出的时候看起来更加像是群聊,不仅有消息输出,还能看到是谁. 实现…
1.服务器端代码 package com.lanber.socket; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class ServerDemo { /** * 注意:Socket的发送与接收是需要同步进行的,即客户端发送一条信息,…
1.服务端----Server.java import javax.swing.*; import java.io.*; import java.net.*; import java.awt.*; import java.awt.event.*; /** * Created by JXJ on 2017/6/26. */ public class Server extends JFrame{ private JTextField userText; private JTextArea chatW…
服务端: public class Server { public static void main(String[] args) throws Exception { //1.创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口 ServerSocket serverSocket = new ServerSocket(10086); //2.调用accept()方法开始监听,等待客户端的连接 Socket socket = serverSocket.accep…
在上次Java Socket现实简单的HTTP服务我 们实现了简单的HTTP服务,它可以用来模拟HTTP服务,用它可以截获HTTP请求的原始码流,让我们很清楚的了解到我们向服务发的HTTP消息的结 构,对HTTP请求消息有个清晰的认识.这一节我想写了一个客户的程序,就是用来模拟浏览器,用来向服务器发送HTTP请求,最得要的是可以用它来显示服 务器发回来的HTTP响应消息的一般结构. import java.io.IOException; import java.io.InputStream; i…
前言 在工作开始之前,我们先来了解一下Socket 所谓Socket,又被称作套接字,它是一个抽象层,简单来说就是存在于不同平台(os)的公共接口.学过网络的同学可以把它理解为基于传输TCP/IP协议的进一步封装,封装到以至于我们从表面上使用就像对文件流一样的打开.读写和关闭等操作.此外,它是面向应用程序的,应用程序可以通过它发送或接收数据而不用过多的顾及网络协议. 那么,Socket是存在于不同平台的公共接口又是什么意思呢? 形象的说就是“插座”,是不同OS之间进行通信的一种约定或一种方式.通…