这是对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){
}
}
}
使用方法:
- 首先在c盘新建一个text.txt文件,在中写入你想发送的数据。
- 先运行ServerSock.java文件,其次是UserSock.java文件
显示结果:
服务器端:
服务器开启成功...
can you 都莫惹
服务器关闭成功...