try {
ServerSocket ss = new ServerSocket(8989);
Socket s = ss.accept();
OutputStream o = s.getOutputStream();
PrintWriter p = new PrintWriter(o);
p.write("中国科技大学");
p.close();
o.close();
s.close();
ss.close();
} catch (Exception e) {
e.printStackTrace();
}
服务端创建绑定特定端口的服务器套接字
侦听并接受此套接字的连接
中间就是建立连接后的通信内容,实例为输出一段内容
InetAddress add = InetAddress.getByName("127.0.0.1");
Socket sc = new Socket(add,8989);
InputStream in = sc.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
System.out.println("^_^:"+reader.readLine());
sc.close();
客户端,创建套接字,指定地址和端口,建立连接后,中间为网络通信内容,实例为读出通信内容。
以上是简单的IO通信,下面演示一个网络通信中传文件的实例
InputStream in = new FileInputStream( new File("D:\\workspace\\java\\src\\demo"+File.separator+"hello.txt"));
byte buffer[] = new byte[1024];
int len = 0;
OutputStream out = s.getOutputStream();
while((len=in.read())!=-1) {
out.write(buffer,0,len);
}
服务端读一个文件并将其输出到OutputStream中,那么客户端就通过该流得到内容
InputStream in = sc.getInputStream();
OutputStream out = new FileOutputStream("d:\\2.txt");
byte buffer[] = new byte[1024];
int len = 0;
while((len=in.read())!=-1) {
out.write(buffer,0,len);
} sc.getInputStream()其实就是服务端OutputStream的内容