简易局域网聊天java_简单的局域网聊天程序(java版本的)
局域网聊天程序,首先我已经默认你的电脑已经配置好的java开发的一些环境,所需代码有两个java的源代码,他们分别是1:Server_Test.java-------2:Socket_Test.java
好了废话不多说了,直接上源码
1:Server_Test.java 服务器端的代码
import java.io.*;
import java.net.*;
import java.applet.Applet;
public class Server_Test {
// 服务器端程序代码
public static void main(String args[]) {
try {
ServerSocket server = null;
try {
// 创建一个ServerSocket在端口4700监听客户端的请求
server = new ServerSocket(4700);
} catch (Exception e) {
System.out.println("can not listen to(不能监听...)" + e);
}
Socket socket = null;
try {
// 用accept()阻塞等待客户的请求,有客户请求到来则产生一个Socket对象并继续执行
socket = server.accept();
} catch (Exception e) {
System.out.println("Error(出错啦..)" + e);
}
String line;
// 由Socket对象得到输入流,并构造BufferedReader对象
BufferedReader is = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
// 由Socket对象得到输出流,并构造PrintWriter对象
PrintWriter os = new PrintWriter(socket.getOutputStream());
// 有系统标准输入设备构造BufferedReader对象
BufferedReader sin = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("Client(客户端...)" + is.readLine());
line = sin.readLine();
// 如果为bye 停止循环
while ((!line.equals("bye"))) {
// 将从系统标准输入读入的字符串输出到Server
os.println(line);
// 刷新,使server马上接受该字符串
os.flush();
// 从Server读入一个字符串,并打印子啊标准输出上
System.out.println("Server(服务器端发送的内容.....)" + line);
// 在系统标准 输出上打印读入的字符串
System.out.println("Client(客户端发送的内容.....)" + is.readLine());
// 从系统标准输入读入一个字符串
line = sin.readLine();
}
// 关闭。。。
os.close();
is.close();
socket.close();
server.close();
} catch (Exception e) {
System.out.println("Error(出错啦..)" + e);
}
}
}
2:Socket_Test.java 客户端的代码
import java.io.*;
import java.net.*;
public class Socket_Test {
// 客户端程序代码。。。
public static void main(String args[]) {
try {
//
Socket socket = new Socket("127.0.0.1", 4700);
// 有系统标准设备构造BufferedReader对象
BufferedReader sin = new BufferedReader(new InputStreamReader(
System.in));
// socket对象得到输出流,并构造BPrintWriter对象
PrintWriter os = new PrintWriter(socket.getOutputStream());
// socket对象得到输入流,并构造BufferedReader对象
BufferedReader is = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
String readline;
readline = sin.readLine();
// bye 停止
while (!(readline.equals("bye"))) {
// 将从系统标准输入读入的字符串输出到Server
os.println(readline);
// 刷新,使Server马山接受该字符串
os.flush();
// 在系统标准输出上打印读入的字符串
System.out.println("Client(客户端说:...)" + readline);
// 从Server读入一个字符串,并打印到标准输出上
System.out.println("Sever(服务器端说:....)" + is.readLine());
// 从系统标准输入读入一个字符串
readline = sin.readLine();
}
os.close();
is.close();
socket.close();
} catch (Exception e) {
System.out.println("Error....." + e);
}
}
}
3.编辑两个源码后 在dos下cmd javac Server_Test.java 然后 java Server_Test
4.在打开一个dos窗口 cmd javac Socket_Test.java 然后 java Socket_Test
5.接着就可以实现聊天的功能了
6.聊天的结果运行如下:
简易局域网聊天java_简单的局域网聊天程序(java版本的)相关推荐
- iOS聊天室 简单的对话聊天界面(cell自适应高度)
文章目录 难点 思路 需要用到的方法的大致解析(只是简单的介绍,如果想要仔细理解推荐再去看看别的博客) GitHub地址 代码 效果图 难点 因为聊天长度不一样,需要设置自适应高度 发送信息后,需要使 ...
- java单人多人聊天_java简单多人聊天
服务器端代码: package chat; import java.io.DataInputStream; import java.io.DataOutputStream; import java.i ...
- java简易日历程序报告_简单的日历小程序(java编写)
import java.util.Scanner; public class CalendarDemo{ public static void main(String[] args) { int su ...
- 简单的Windows资源管理器——Java版本
一直有很多小伙伴私信我要社团管理系统的源码,这个暂时无法分享,根据社团管理系统文章的思路完全是可以自己写出来的哦~ 最近一个小伙伴私聊我需要一个java小程序,现将之前写的一个Windows资源管理器 ...
- Vue3聊天气泡简单实现思路
Vue3聊天气泡简单实现 实现聊天气泡主要有两个注意点: ①是根据字体数量自适应框的长度 ②字体到框有边距,也就是为了美观 这篇博客主要讲实现的思路,不讲聊天气泡的三角突出点,如下所示: 三角突出点通 ...
- C# Socket编程实现简单的局域网聊天器
前言 最近在学习C# Socket相关的知识,学习之余,动手做了一个简单的局域网聊天器.有萌生做这个的想法,主要是由于之前家里两台电脑之间想要传输文件十分麻烦,需要借助QQ,微信或者其他第三方应用,基 ...
- Qt学习心得之网络编程简单的局域网聊天服务端建立
学而不思则罔,思而不学则殆.学习和思考是相辅相成的,通过这几天对网络编程的学习,收获颇丰.接下来我将利用Qt做的一个以TcpIp协议为传输方式的简单的局域网聊天服务端与大家分享下: 首先谈谈我个人对T ...
- java局域网聊天代码_简单的局域网聊天程序(java版本的)
局域网聊天程序,首先我已经默认你的电脑已经配置好的java开发的一些环境,所需代码有两个java的源代码,他们分别是1:Server_Test.java-------2:Socket_Test.jav ...
- html 简单机器人对话页面,简单的js聊天机器人框架BotUI
Botui是一款简单的js聊天机器人框架.Botui基于Vue.js,通过简单配置,就可以制作出一个功能简单的聊天机器人,非常神奇. 使用方法 在页面中引入botui.min.css和botui-th ...
- C语言Socket动态ajax网页,简单的ajax聊天网页 socket
聊天室 输入信息: 聊天室信息: 您可以在这个网页中的文本框中输入文字,而下方会有个显示信息的区域,每次的新信息將只在该区域更新,页面中其余的部分不用变动,所以不用重复下载. 来看一下JavaScri ...
最新文章
- 腾讯云 短信服务 【学习记录 】
- 网站如何进行渠道跟踪_开发网站不知道如何进行推广?5个技巧教会你
- javascript搜索框联想搜索_js实现类似于联想关键词的搜索功能(附代码)
- ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码
- MacOs High Sierra 升级失败解决办法
- nodejs shell交互_nodejs调用shell
- C/C++由字符串转JSON/JSON转字符串/数组解析/数组添加
- 数字编码电位器c语言,数字电位器——x9c104
- 区块链在阿里巴巴天猫中的应用
- 论文浅尝 - AAAI2021 | 基于对比学习的三元组生成式抽取方法
- 移动端 uniapp 国际化一站式解决方案
- js 小数自动补0_JavaScript 时分秒时间代码(自动补零)
- 《算法竞赛进阶指南》数论篇
- 国庆作业 刷题0929
- 没有一款趁手的数据监控软件?试一下NetData不,用了你就绝对离不开他!
- Silverlight C# 游戏开发:自定义鼠标(一)
- yum使用总结(转)
- 矩阵的转置、加和乘法写入C++
- svn项目管理服务器,Apache 下SVN项目管理使用说明
- 4G升级5G需要换手机还是换手机卡,还是都不用换?
热门文章
- DSD, DFF, DSF, DST概念解析
- linux IIC子系统分析(七)——实例分析通过i2c-dev操作I2C设备
- S7-1200智能IO设备使用方法
- Ubuntu16.04安装微信亲测可用
- 最长回文子串(Longest Palindromic Substring)——三种时间复杂度的解法及LeetCode[5] - 最长回文子串动态规划
- ELK:ElasticSearch定期关闭和删除索引脚本
- 多旋翼姿态解算之Mahony互补滤波
- 微信小程序 循环展示
- html宠物医院制作与实现,基于Web方式的宠物医院管理系统的实现 .doc
- python三维地质建模_GemPy三维地质建模工具包