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