[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服务器相关推荐

  1. java 在线测评_简单java在线测评程序

    简单java程序在线测评程序 v一.前言 大家过年好!今年的第一篇博客啊!家里没有网,到处蹭无线!日子过得真纠结!因为毕设的需求,简单写了一个java程序在线测评程序,当然也可以在本地测试. v二.思 ...

  2. java华容道代码_华容道Java游戏源代码JAVA游戏源码下载

    鉴于JAVA的华容道游戏源码,希望对研讨JAVA游戏的朋友有所帮助.最初运行于西门子是非屏手机上. 华容道Java游戏源代码 (1 folders, 2 files, 1.38 KB, 76.13 K ...

  3. java愤怒的小鸟代码_用java实现小游戏“愤怒的小鸟”附源码和效果演示

    推荐下我自己的群:6915 72518,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份最新资料和零基础入门教程!,欢迎初学和进阶中的小伙伴 今天跟大家分享一个用纯Java代 ...

  4. java动画代码_利用Java制作字符动画实例代码

    前言 今晚闲来无事,整理了一下电脑中尘封已久的旧代码,看着那些年自己写过的代码,踩过的坑,顿时老泪纵横.正当在感叹之际,突然发现在"马克思"文件夹下出现了一个好玩的项目,那就是N年 ...

  5. java事务代码_关于java中实现JDBC事务控制代码示例

    一.前言 数据库事务是执行业务的每个逻辑单元一系列操作,可由一个或多个SQL语句组成.如执行的SQL都能被正确的执行,则这批SQL提交将被生效,否则都不成功,通过这样的事务控制有效的保障了数据库数据的 ...

  6. java斗地主代码_基于java实现斗地主代码实例解析

    斗地主 规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌. 4. 查看三人各自手中的牌(按照牌的大小排序).底牌 手中扑克 ...

  7. java秒表代码_秒表 - java代码库 - 云代码

    [java]代码库package Day0822; import java.awt.event.*; import javax.swing.*; import java.awt.*; public c ...

  8. java玫瑰花代码_用java画布画玫瑰花

    packageyan03;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class RoseNJFrame ...

  9. java华容道代码_用java编程 华容道游戏

    展开全部 import java.awt.*; import java.awt.event.*; public class MoveExample { public static void main( ...

最新文章

  1. NABCD项目需求分析
  2. BZOJ 1631: [Usaco2007 Feb]Cow Party【最短路】
  3. Fast RCNN 训练自己数据集 (1编译配置)
  4. HDU - 3336 next运用+递推
  5. leetcode 725. Split Linked List in Parts | 725. 分隔链表(Java)
  6. 为什么EClipse不显示错误
  7. 连接SQL Server文件集锦
  8. 你画的流程图,全组人都能看得懂吗?
  9. yum php fpm5.6,CentOS 7 yum 安装php5.6
  10. [转]char * 和字符数组
  11. 大数据系统软件创新平台与生态建设
  12. 教你一招用python发送QQ邮件
  13. 景安mysql主机_景安虚拟主机使用教程
  14. 前端开源项目周报0103
  15. scratch编程小游戏黑白棋
  16. 1.Redis客户端
  17. 海思Hi3516EV200开发第一天
  18. 5G智慧城市丨智慧园区一体化、智能化解决方案
  19. 现代软件工程—构建之法》第一章 中出现的计算机专业术语
  20. hadoop查看文件总条数及按某个关键词查询

热门文章

  1. 公务员计算机基础知识笔记,公务员计算机基础知识【精选】.doc
  2. 蓝桥杯 ALGO-117 算法训练 友好数
  3. 1091. Acute Stroke (30)-PAT甲级真题(广度优先搜索)
  4. 一致 先验分布 后验分布_「分布式技术」分布式事务最终一致性解决方案,下篇...
  5. plsql初始错误sql.net未正确安装_ANSYS | ansys18.0完整安装过程及常见问题解决方案[图文]...
  6. python常用的库与包_python常用到哪些库?
  7. Java项目中 log4j的用法
  8. jvm crash分析工具
  9. (1)Java 教程
  10. PowerShell 查询 Excel记录