昨天写了段小程序,现贴出来看看。javascript
如下是socket的简单介绍。获取两台联通的机器之间的IP和端口号等信息。html
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包下。java
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的时候,浏览器可跳转到如下界面。浏览器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript" src="src/encoder.js"></script> <title>Title</title> </head> <body> 我要请求一张图片 <img src="src/timthumb.jpg"> </body> </html>
目前只能传点文字。socket
<img src="src/timthumb.jpg">这一行未执行成功。今天想个办法处理一下图片的传送和js文件的传送。.net