------------------android培训、java培训、期待与您交流-----------------
需求:自定义服务端,允许浏览器或者telnet作为客户端访问
代码:
class ServerDemo{
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(11000);//创建一个服务器Socket对象,监听
11000端口
Socket s = ss.accept();//获取服务器接收到的客户端Socket信息
System.out.println(s.getInetAddress().getHostAddress());//打印客户端IP地址
InputStream in = s.getInputStream();//获取输入流
byte[] buf = new byte[1024];//定义个长度为1KB的字节数组,用于接受客户端信息
int len = in.read(buf);//输入流接收到信息的字节长度
System.out.println(buf,0,len);//打印读取到的客户端发送的信息
PrintWriter out = new PrintWriter(s.getOutputStream(),true)//创建一个
PrintWriter对象,关联输出字节流
out.println("<font color='red' size='7'>客户端你好</font>");//向客户端发送
固定信息
s.close();//关闭接收字节流
ss.colse();//关闭服务器Socket端口
}
}
需求:自定义浏览器,访问Tomcat服务器
代码:
Socket s = new Socket("192.168.1.254",8080);//创建客户端Socket对象
PrintWriter out = new PrintWriter(s.getOutputStream(),true);创建字符流PrintWriter对
象关联字节输出流
out.println("GET /myweb/demo.html HTTP/1.1");//发送信息(get方式访问服务器)
out.println("Accept:*/*");//接收所有类型的文件
out.println("Accept-Language:zh-cn");//接收简体中文
out.println("Host:192.168.1.254:8080");//发送到的主机地址和端口
out.println("Connection:Keep-Alive");//连接状态:保持存活
out.println("");
out.println("");//空行用于和主体消息隔开
BufferedReader buf = new BufferedReader(new InputStreamReader(s.getInputStream
()));///创建缓冲字符流关联字节输入流
String line = null;//定义字符串变量用于接收一行输入字符流
while((line=bufr.readLine())!=null){//读取到的字符输入流不为空则打印信息
System.out.println(line);
}
s.close();