java自制服务器与客户端(Sock)

来源:互联网 发布:cs基地杀人案 知乎 编辑:程序博客网 时间:2024/05/03 13:56

这是对ServerSock与Sock的学习。

是自我探究服务器接收以及响应。

这是个小程序。

原理:

用servlet监听端口。
sock发送消息到某个ip某个端口。

服务端:

package org.Sock;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class ServerSock {    public static void main(String[] args) throws Exception {        // TODO Auto-generated method stub        ServerSocket sock = new ServerSocket(80);        System.out.println("服务器开启成功...");        Socket s = sock.accept();        InputStream fis = s.getInputStream();        byte[] b  = new byte[1024];        int len=0;        while((len =fis.read(b))!=-1){            System.out.println(new String(b,0,len));        }        fis.close();        System.out.println("服务器关闭成功...");    }}

客户端:

package org.Sock;import java.io.File;import java.io.FileInputStream;import java.io.OutputStream;import java.net.Socket;public class UserSock {    public static void main(String[] args) {        // TODO Auto-generated method stub        Socket sock =null;        try{            sock = new Socket("127.0.0.1",80);            FileInputStream in = new FileInputStream(new File("c:/text.txt")    );             OutputStream out = sock.getOutputStream();            byte[] b = new byte[1024];            int len =0;            while((len=in.read(b))!=-1){                out.write(b, 0, len);            }            out.flush();            out.close();            in.close();        }catch(Exception e){        }    }}

使用方法:

  1. 首先在c盘新建一个text.txt文件,在中写入你想发送的数据。
  2. 先运行ServerSock.java文件,其次是UserSock.java文件

显示结果:

服务器端:

服务器开启成功...can you 都莫惹服务器关闭成功...
0 0