[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. wifi分析仪怎么看哪个信道好_游戏工作室用什么路由器好?合理选择组建手机工作室网络...
  2. NaN Inf(OC)
  3. PTA 判断对称矩阵 (10分)
  4. 安装MySQL之后,在cmd中MySQL命令不能识别
  5. Django—路由层,视图层
  6. pythonjieba分词_$好玩的分词——python jieba分词模块的基本用法
  7. 冲刺OPhone2.5:夏新已经下定决心
  8. 小记css的margin collapsing
  9. 模拟退火法-TSP问题
  10. Android菜鸟的成长笔记(16)——Service简介
  11. 蛮力法 —— 求解最大连续子序列和问题
  12. 灵动标签内sql语句调用
  13. php框架 tp laravel,TP框架和Laravel框架的区别是什么
  14. 宏基4750网卡驱动linux,宏基4750g驱动下载-宏基4750g网卡驱动程序官方版 - 极光下载站...
  15. X1000代码烧写配置
  16. UNIX环境高级编程(第2版)- 第1~10章
  17. 命令行录制工具 asciinema
  18. 基于SimpItk的下肢全景X光图像拼接
  19. 计算机未检测到任何网络硬件,电脑提示windows没有检测到任何网络硬件怎么办...
  20. Linux的进程状态

热门文章

  1. python 如何调用另一个路径下py文件的函数
  2. GDB 调试命令讲解 2-转
  3. 【最短路径】:Dijkstra算法、SPFA算法、Bellman-Ford算法和Floyd-Warshall算法
  4. 【job】面试中常见的笔试梳理
  5. java list map 去重和排序方法
  6. 如何聊离职原因,向面试官展示自己的忠诚
  7. 6.1bash编程入门值变量类型、for循环和算术运算
  8. 3.0 mysql配置讲解
  9. oracle exp(dmp)命令带过滤条件?
  10. Linux下搭建AP