java socket 浏览器_Socket实现Java和浏览器交互。

昨天写了段小程序,现贴出来看看。

以下是socket的简单介绍。获取两台联通的机器之间的IP和端口号等信息。

import java.io.IOException;

import java.net.Socket;

public class SockerDemo {

public static void main(String[] args) throws IOException {

Socket socket = new Socket();

System.out.println(socket.getLocalAddress());//这些方法用于获取本地和远程的一些信息

System.out.println(socket.getLocalPort());

System.out.println(socket.getInetAddress());

// System.out.println(socket.getInputStream());

System.out.println(socket.isClosed());

System.out.println(socket.isBound());

System.out.println(socket.isConnected());

}

}

在IDEA工程中,同一src包下。

ServerSocket 这个类的主要功能是监听本机的一个端口。当有事件发生的时候(或者说新的连接到达的时候),新建一个Socket对象,用于与所连接机器与本机的交互。

import java.io.*;

import java.net.ServerSocket;

import java.net.Socket;

public class ServerSocketDemo {

static ServerSocket serverSocket = null;

public ServerSocketDemo() throws IOException {

}

public static void main(String[] args) throws IOException {

serverSocket = new ServerSocket(8888);

service();

}

public static void service() {

while (true) {

Socket socket = null;

try {

socket = serverSocket.accept();

InputStream inputStream = socket.getInputStream();

byte[] bytes = new byte[20480];

inputStream.read(bytes);

System.out.println(new String(bytes));

//OutputStream这个类继承自FileOutputStream

OutputStream outputStream = socket.getOutputStream();

File file = new File("src/file.html");

FileInputStream fileInputStream = new FileInputStream(file);

fileInputStream.read(bytes);

outputStream.write(bytes);

socket.close();

outputStream.close();

System.out.println("新增连接:" + socket.getInetAddress() + ":" + socket.getPort());

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

这是file.html文件。运行上述Java程序,当在浏览器中请求127.0.0.1:8888的时候,浏览器可跳转到以下界面。

Title

我要请求一张图片

timthumb.jpg

目前只能传点文字。

timthumb.jpg这一行未执行成功。今天想个办法处理一下图片的传送和js文件的传送。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HashMap和ConcurrentHashMap的区别,HashMap的底层源码。

Hashmap本质是数组加链表。根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面。 ConcurrentHashMap:在hashMap的基础上,ConcurrentHashMap将数据分为多个s…

[水煮 ASP.NET Web API2 方法论](1-1)在MVC 应用程序中添加 ASP.NET Web API

问题 怎么样将 Asp.Net Web Api 加入到现有的 Asp.Net MVC 项目中 解决方案 在 Visual Studio 2012 中就已经把 Asp.Net Web Api 自动地整合到了 MVC 项目模板中。自 Visual Studio 2013 以后,创建 ASP.Net Web应用程序使用的是一种新的"One ASP.NET"项目…

java io流文件损坏_java使用io流下载.docx. xlsx文件,出现文件损坏提示

介绍在使用io流下载服务器上的资源文件时,出现以下提示:但是选择“是”后文件可以正常打开参考 代码如下:[codesyntax lang"java"]RequestMapping(value "downLoadInstruction")public void downLoadInstruction(HttpSe…

java 内存堆和栈_java堆内存和栈内存的处理

前段时间学习二叉树在处理删除操作的时候遇到一个头疼的问题:删除节点的时候明明已经置null了可树上该节点依旧存在,还必须执行node.father.left null;才可以删除node节点,寻找了一下原因发现还是因为对java内存管理理解不够深入。代码如下&…

python基础(十三)

项目实战:运维堡垒机开发 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机的IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,其实这个认识是不全面的,跳板功…

java面向_java是面向什么的语言?

Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,…

java流的应用_Java中I/O流的应用

Java中I/O流的应用iLeGeNDpackagecom.hp.io;/** I/O流的应用 * 实现目标: * 首先创建一个文件 * 通过键盘向文件添加内容 * 然后把文件的内容打印到控制台 * */import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import ja…

PHP的反射类ReflectionClass、ReflectionMethod使用实例

PHP5 具有完整的反射API,添加对类、接口、函数、方法和扩展进行反向工程的能力。 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信…

java 多线程跑数据_java——多线程的实现方式、三种办法解决线程赛跑、多线程数据同步(synchronized)、死锁...

多线程的实现方式:demo1、demo2demo1:继承Thread类,重写run()方法packagethread_test;public class ThreadDemo1 extendsThread {ThreadDemo1(){}ThreadDemo1(String szName){super(szName);}//重载run函数public voidrun() {for(int count …

struts2-19-合法用户上传文件

一:登录页面 成功:--->upload.jsp 失败:返回错误信息(用户名或者密码错误) 二:上传文件 登录成功:上传成功 未登录:--->login.jsp错误信息(请登录) 三…

maven项目和普通项目转换

转载于:https://www.cnblogs.com/yver/p/6054131.html

Gradle用户指南(1)-Gradle安装

前置条件 Gradle 需要 Java JDK 或者 JRE,版本是 6 及以上。Gradle 将会装载自己的 Groovy 库,因此,Groovy 不需要被安装。任何存在的 Groovy 安装都会被 Gradle 忽略。 Gradle 使用你 path 中的 JDK,或者,您可以设置 java_home 环…

第十六章:Java内存模型——Java并发编程实战

一、什么是内存模型,为什么要使用它 如果缺少同步,那么将会有许多因素使得线程无法立即甚至永远看到一个线程的操作结果 编译器把变量保存在本地寄存器而不是内存中编译器中生成的指令顺序,可以与源代码中的顺序不同处理器采用乱序或并行的方…

二进制包 mysql_二进制包安装MySQL数据库

1.1二进制包安装MySQL数据库1.1.1 安装前准备(规范)[rootMysql_server ~]# mkdir -p /home/zhurui/tools ##创建指定工具包存放路径[rootMysql_server ~]# wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.32-linux2.6-x86_64.tar.gz ##下载二进制包[ro…

【转】String.format详解

一、前言                            String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "John");,下面将笔记整理…

java提高班_2020年最新天码营-Java提高班,资源教程下载

课程名称2020年最新天码营-Java提高班,资源教程下载课程介绍初学者先广在精,关注代码背后的实现,关注内功修炼,了解实现原理和思想,形成自己完整的技术体系,知识成片之后就容易触类旁通,进步的速…

力扣Java解数独_LeetCode 力扣 37. 解数独

题目描述(困难难度)给定一个数独棋盘,输出它的一个解。解法一 回溯法从上到下,从左到右遍历每个空位置。在第一个位置,随便填一个可以填的数字,再在第二个位置填一个可以填的数字,一直执行下去直到最后一个位置。期间如…

MSSQL优化之————探索MSSQL执行计划

原文链接:http://blog.csdn.net/no_mIss/archive/2006/11/09/1374978.aspx 作者:no_mIss QQ:34813284 时间:2006.11.07 23:30:00 环境:win2003 mssql2005 最近总想整理下对MSSQL的一些理解与感悟,却一直没有心思和…

java web的动静分离_Apache结合Tomcat实现动静分离的方法

实验环境Apache和Tomcat均安装在IP地址为192.168.153.136的主机上 主机操作系统为centos7 实验之前关闭防火墙 ,命令: systemctl stop firewalld 关闭seliunx ,命令:setenforce 0 实验效果为Apache处理html静态资源,Tomcat处理jsp…

【2016.11.16】HTML学习笔记

先是学习了思维导图的使用方法,然后自学了HTML 下面是自学的笔记 转载于:https://www.cnblogs.com/shan01/p/6071081.html