java建立socket,返回浏览器的请求

package com.jdk.api.test;

import java.io.DataInputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;


public class WebServer{

public static void main(String args[]) throws Exception

{


int i=1,PORT=8080;
ServerSocket server=null;
Socket client=null;
server=new ServerSocket(PORT);
System.out.println("Web Server is listening on port"+String.valueOf(server.getLocalPort()));
while(true){
client=server.accept();
System.out.println("有一个浏览器访问我了!!");
new Connection(client).start();
}
}


}
class Connection extends Thread{

Socket client;
public Connection(Socket cl){

client=cl;
}
public void run(){
try{


PrintStream outstream=new PrintStream(client.getOutputStream());

DataInputStream instream = new DataInputStream(client.getInputStream());
StringBuilder sb = new StringBuilder();
String inline = null;
/**
* instream.readLine() 是阻塞的,
* 应该使用instream.available()判断是否有可用的流可以读取
*
*/
while((inline =instream.readLine())!= null && instream.available()>0 ){
System.out.println("------------------------");
sb.append(inline);

}

System.out.println("receive:"+sb);
String ss = sb.toString();
System.out.println("ss:"+ss);
byte buf[]=ss.getBytes();
System.out.println("lenth:"+buf.length);

outstream.write(buf,0, buf.length-1);

outstream.flush();

outstream.close();
client.close();
}catch(Exception ex){
ex.printStackTrace();
}
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值