java服务器代码_简单java服务器
[java]代码库import java.io.InputStream;
import java.io.OutputStream;
import java.net.*;
public class ChatServer {
public void setUpServer(int port) {
try {
ServerSocket server = new ServerSocket(port);
System.out.println("服务器创建成功" + port);
// 让服务器进入等待状态:阻塞状态
// 当有客户端连接上时,等待方法就会返回,返回一个代表与客户端连接的对象
while (true) {
Socket client = server.accept();
System.out.println("正在有客户端访问" + client.getRemoteSocketAddress());
// 调用处理连接对象的方法去处理连接对象
processChat(client);
// 从连接对象上得到输入输出流对象
// OutputStream out=client.getOutputStream();
// InputStream ins=client.getInputStream();
//
// String s="你好,欢迎来到javake\r\n";
//
// byte[] data=s.getBytes();//获取这个字符串的字节
// out.write(data);//用输出对象发送数据
// out.flush();//强制输出
// int in=0;
// while(in!=13)
// {
// in=ins.read();
// System.out.println("读到的一个是"+in);
// }
// System.out.println("客户端按了回车,退出");
//
// client.close();//关闭与客户端的连接
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 处理连接对象,读取客户端发来的字符串,回送给客户端
*
*
*/
private void processChat(Socket client) throws Exception {
// 从连接对象上得到输入输出流对象
OutputStream out = client.getOutputStream();
InputStream ins = client.getInputStream();
String s = "你好,欢迎来到服务器javake\r\n";
byte[] data = s.getBytes();// 获取这个字符串的字节
out.write(data);// 用输出对象发送数据
out.flush();// 强制输出
// 调用读取字符串的方法,从输入流中读取一个字符串
String inputS = readString(ins);
int in = 0;
while (!inputS.equals("bye")) {
System.out.println(" 客户端说" + inputS);
s = "服务器收到" + inputS + "\r\n";
data = s.getBytes();// 取得组成这个字符串的字节数组
out.write(data);
out.flush();
inputS = readString(ins);// 读取客户端的下一次输入
}
s = "你好,欢迎再来 \r\n";
data = s.getBytes();
out.write(data);
out.flush();
client.close();// 关闭与客户端的连接
}
/**
*
* 从输入流对象中读取字节,拼成一个字符串返回 如果读到一个字符值为13,则认为以前的是一个字符串 ins:输入 流对象
* return:从流上(客户端发来的)读到字符串
*/
private String readString(InputStream ins) throws Exception {
// 创建一个字符串缓冲区
StringBuffer stb = new StringBuffer();
char c = 0;
while (c != 13) {
int i = ins.read();// 读取客户端发来的一个字节
c = (char) i;// 将输入的字节转换为一个Char
stb.append(c);// 将读取到的一个字符加到字符串缓冲区中
}
// 将读到的字节数组转换为字符串,并调用trim去掉尾部的空格
String inputS = stb.toString().trim();
return inputS;
}
public static void main(String[] args) {
ChatServer cs = new ChatServer();
cs.setUpServer(1234);
}
}
java服务器代码_简单java服务器相关推荐
- java 在线测评_简单java在线测评程序
简单java程序在线测评程序 v一.前言 大家过年好!今年的第一篇博客啊!家里没有网,到处蹭无线!日子过得真纠结!因为毕设的需求,简单写了一个java程序在线测评程序,当然也可以在本地测试. v二.思 ...
- java华容道代码_华容道Java游戏源代码JAVA游戏源码下载
鉴于JAVA的华容道游戏源码,希望对研讨JAVA游戏的朋友有所帮助.最初运行于西门子是非屏手机上. 华容道Java游戏源代码 (1 folders, 2 files, 1.38 KB, 76.13 K ...
- java愤怒的小鸟代码_用java实现小游戏“愤怒的小鸟”附源码和效果演示
推荐下我自己的群:6915 72518,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份最新资料和零基础入门教程!,欢迎初学和进阶中的小伙伴 今天跟大家分享一个用纯Java代 ...
- java动画代码_利用Java制作字符动画实例代码
前言 今晚闲来无事,整理了一下电脑中尘封已久的旧代码,看着那些年自己写过的代码,踩过的坑,顿时老泪纵横.正当在感叹之际,突然发现在"马克思"文件夹下出现了一个好玩的项目,那就是N年 ...
- java事务代码_关于java中实现JDBC事务控制代码示例
一.前言 数据库事务是执行业务的每个逻辑单元一系列操作,可由一个或多个SQL语句组成.如执行的SQL都能被正确的执行,则这批SQL提交将被生效,否则都不成功,通过这样的事务控制有效的保障了数据库数据的 ...
- java斗地主代码_基于java实现斗地主代码实例解析
斗地主 规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌. 4. 查看三人各自手中的牌(按照牌的大小排序).底牌 手中扑克 ...
- java秒表代码_秒表 - java代码库 - 云代码
[java]代码库package Day0822; import java.awt.event.*; import javax.swing.*; import java.awt.*; public c ...
- java玫瑰花代码_用java画布画玫瑰花
packageyan03;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class RoseNJFrame ...
- java华容道代码_用java编程 华容道游戏
展开全部 import java.awt.*; import java.awt.event.*; public class MoveExample { public static void main( ...
最新文章
- NABCD项目需求分析
- BZOJ 1631: [Usaco2007 Feb]Cow Party【最短路】
- Fast RCNN 训练自己数据集 (1编译配置)
- HDU - 3336 next运用+递推
- leetcode 725. Split Linked List in Parts | 725. 分隔链表(Java)
- 为什么EClipse不显示错误
- 连接SQL Server文件集锦
- 你画的流程图,全组人都能看得懂吗?
- yum php fpm5.6,CentOS 7 yum 安装php5.6
- [转]char * 和字符数组
- 大数据系统软件创新平台与生态建设
- 教你一招用python发送QQ邮件
- 景安mysql主机_景安虚拟主机使用教程
- 前端开源项目周报0103
- scratch编程小游戏黑白棋
- 1.Redis客户端
- 海思Hi3516EV200开发第一天
- 5G智慧城市丨智慧园区一体化、智能化解决方案
- 现代软件工程—构建之法》第一章 中出现的计算机专业术语
- hadoop查看文件总条数及按某个关键词查询
热门文章
- 公务员计算机基础知识笔记,公务员计算机基础知识【精选】.doc
- 蓝桥杯 ALGO-117 算法训练 友好数
- 1091. Acute Stroke (30)-PAT甲级真题(广度优先搜索)
- 一致 先验分布 后验分布_「分布式技术」分布式事务最终一致性解决方案,下篇...
- plsql初始错误sql.net未正确安装_ANSYS | ansys18.0完整安装过程及常见问题解决方案[图文]...
- python常用的库与包_python常用到哪些库?
- Java项目中 log4j的用法
- jvm crash分析工具
- (1)Java 教程
- PowerShell 查询 Excel记录