package com.liubo.webservice.socket.server;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.DatabaseMetaData;
/*
* 用Socket方法实现Webservice
* Socket服务端
*/
@SuppressWarnings("unused")
public class SocketServer {
public static void main(String[] args) throws IOException{
ServerSocket serversocket=null;
DataInputStream getInputStream=null;
DataOutputStream getOutStream=null;
//用while方法使服务端持续连接
while(true){
try {
//创建一个ServerSocket服务
serversocket=new ServerSocket(12345);
System.out.println("服务端服务已启动......");
//创建一个监听方法
//accept方法是阻塞方法
Socket socket=serversocket.accept();
//创建一个输入流(封装的),用此流接受数据
getInputStream=new DataInputStream(socket.getInputStream());
//创建一个输出流(封装的),用此流发送数据
getOutStream=new DataOutputStream(socket.getOutputStream());
//城市名称
String cityname=getInputStream.readUTF();
System.out.println("从客户端接收到的信息。。。"+cityname);
//天气情况
String result="天气晴朗";
//将天气查询情况发送给客户端
getOutStream.writeUTF(result);
System.out.println("向客户端发送的信息..."+result);
} catch (Exception e) {
e.printStackTrace();
}finally{
//释放资源
if(serversocket!=null){
serversocket.close();
}
if(getInputStream!=null){
getInputStream.close();
}
if(getOutStream!=null){
getOutStream.close();
}
}
}
}
} |
|