📄 conservlet.java
字号:
package cn.com.sihitech.cc.chat;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.text.*;
import java.util.*;
import java.net.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class conServlet extends HttpServlet {
private ServletConfig config;
final public void init(ServletConfig config) throws ServletException {
this.config = config;
}
final public ServletConfig getServletConfig() {
return config;
}
protected void service(HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException {
request.setCharacterEncoding("GBK");
/*读取XML配置信息*/
ServletContext sctx = getServletConfig().getServletContext();
String serverIp = sctx.getInitParameter("serverIp");
int serverPort = Integer.parseInt(sctx.getInitParameter("serverPort") == null ?
"0" :
sctx.getInitParameter("serverPort"));
String conFlag = request.getParameter("conFlag") == null ? "" :
request.getParameter("conFlag");
/*客户申请进行文本交谈*/
if ("req".equals(conFlag)) {
String result = connectToCSR(request, response, serverIp,
serverPort);
request.setAttribute("result", result);
RequestDispatcher dispatcher = getServletContext().
getRequestDispatcher(
"/chatDeal.jsp");
dispatcher.forward(request, response);
return;
}
else if ("msg".equals(conFlag)) {
System.out.println("aaaa");
String msg = request.getParameter("msgContent") == null ? "" :
request.getParameter("msgContent");
System.out.println("######:"+msg);
//HttpSession aSession = request.getSession(true);
//aSession.setAttribute("CUSTOMER_MSG",msg);
String sendRs = sendMsgToCSR(request, response, serverIp,
serverPort, msg);
request.setAttribute("sendRs", sendRs);
RequestDispatcher dispatcher = getServletContext().
getRequestDispatcher("/chatContent.jsp");
dispatcher.forward(request, response);
return;
}
}
public String connectToCSR(HttpServletRequest request,
HttpServletResponse response, String serverIp,
int serverPort) {
Socket s = null;
DataInputStream in = null;
DataOutputStream out = null;
byte buff[] = new byte[1024];
String senStr = "con";
String accStr = "";
try {
s = new Socket(serverIp, serverPort);
s.setSoTimeout(30000);
in = new DataInputStream(s.getInputStream());
out = new DataOutputStream(s.getOutputStream());
out.write(senStr.getBytes());
System.out.println("发送数据包:" + senStr);
in.read(buff);
accStr = new String(buff, "GBK").trim();
System.out.println("接收数据包:" + accStr);
} catch (IOException e) {
accStr = "IO错误:" + e.getMessage();
System.out.println("IO错误:" + e.getMessage());
}
return accStr;
}
public String sendMsgToCSR(HttpServletRequest request,
HttpServletResponse response, String serverIp,
int serverPort, String msg) {
Socket s = null;
DataInputStream in = null;
DataOutputStream out = null;
byte buff[] = new byte[1024];
//String senStr = "con";
String accStr = "";
try {
s = new Socket(serverIp, serverPort);
s.setSoTimeout(15000);
in = new DataInputStream(s.getInputStream());
out = new DataOutputStream(s.getOutputStream());
out.write(msg.getBytes());
System.out.println("发送数据包:" + msg);
in.read(buff);
accStr = new String(buff, "GBK").trim();
System.out.println("接收数据包:" + accStr);
} catch (IOException e) {
//accStr = "IO错误:" + e.getMessage();
System.out.println("IO错误:" + e.getMessage());
accStr = "消息["+msg+"]未发送成功!";
}
return accStr;
}
public void destroy() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -