A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨华东 中级黑马   /  2012-10-5 03:25  /  1690 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

写一个服务器 接受 客户端发送的所有数据(包括消息头),有谁可以回答我?可以详细,也可以大概用代码体现一哈。安分感谢

3 个回复

倒序浏览
本帖最后由 王海宇 于 2012-10-5 08:57 编辑

你说的是接收浏览器请求的服务器吗?写一个类,里面用ServerSocket对象监听本机的一个端口(例如5080),如果收到连接请求后,根据返回的Socket对象获取一个InputStream对象is,然后从is对象就可以读取到从浏览器发来的信息了。在浏览器地址栏里,输入: 127.0.0.1:5080/xxx.jsp?user=aaa&password=bbb,示例代码如下
  1. public void listening() throws IOException {
  2.                 ServerSocket serverSocket = new ServerSocket(5080);
  3.                 System.out.println("开始等待浏览器连接服务器");
  4.                 Socket socket = serverSocket.accept();
  5.                 InputStream is = socket.getInputStream();
  6.                 BufferedReader reader = new BufferedReader(new InputStreamReader(is));
  7.                 String temp = "";
  8.                 System.out.println("已经有浏览器连接到服务器,开始接收浏览器发送的信息");
  9.                 while((temp = reader.readLine()) != null){
  10.                         System.out.println("浏览器发来消息:" + temp);
  11.                 }
  12.         }
复制代码
你将这个方法随便往哪个类里面一放,然后执行这个方法,再从浏览器输入  127.0.0.1:5080/xxx.jsp?user=aaa&password=bbb 后回车,这样在控制台将会打印出所有的从浏览器发来的信息。还有个TCP聊天服务器的代码,你可以去这里看一下 http://blog.csdn.net/haiyualong/article/details/8039930

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
谢谢                 
回复 使用道具 举报
问题已解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马