您的位置:首页 > 其它

创建简单服务器

2016-11-03 17:29 141 查看
实现目标:创建一个简单的服务器,可以将客户机发来的消息显示出来,之后再返回给客户机。
 
①使用java创建一个服务器的指令非常简单,就是在指定窗口上创建一个java.net.ServerSocket对象。代码如下:
 
private ServerSocket
server;
public void setUpServer(int port)
{
try {
//创建服务器
server =
new ServerSocket(port);
System.out.println("已创建服务器" +
port);
}
catch (IOException e) {
e.printStackTrace();
}
}
 
②服务器创建之后就相当于进入了待机状态,等待其他的客户机来连接;
//
让服务器进入等待状态
Socket
client = server.accept();
 
需要注意的是:在调用 server.accept()方法时,程序就会“阻塞”在这里——直到有一个客户机连接上来,这个方法才会返回一个
Socket 类的对象来代表服务器与客户机之间的连接
 
③要接受客户机发来的消息并返回给客户机,就必须创建输入输出流对象。
向输入流中写入的数据,就被发向了客户机;从输出流对象中读取数据,读到的就是客户机发来的数据;
 
//
从连接对象上获取输入输出流对象
OutputStream
out =client.getOutputStream();
InputStream
in = client.getInputStream();
out.write("欢迎来到聊天室\r\n".getBytes());
out.write("输入quit退出\r\n".getBytes());
 
 
 
 
 
 
④使用输入输出流进行对数据的读写操作,在这里实现了一次读取一行字符串的功能,直至按下回车输出;
 
String s =
new String();
while (true)
{
char ch
= (char) in.read();
System.out.println();
System.out.print("用户输入:" +
ch);
if (ch
== '\n') {
out.write(("服务器收到:\r" +
s).getBytes());
out.write("\r\n".getBytes());
s
= new String();
}
s
= s + ch;
if (s.contains("quit"))
{
break;
}
}
out.flush();
out.close();
 
⑤使用telnet来测试创建的服务器

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: