package www.itcast.cn;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class FileClient {
public static void main(String[] args) throws IOException {
//创建输入流,关联文件
FileInputStream in=new FileInputStream("c:\\a.txt");
//创建缓冲区
byte[] datas=new byte[1024];
//定义变量,记录字节数
in.read(datas);
//建立客户端
Socket socket=new Socket("192.168.15.47",5001);
//调用socket的方法
InputStream in1 = socket.getInputStream();
OutputStream out = socket.getOutputStream();
out.write(datas);
out.close();
in.close();
}
}
package www.itcast.cn;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class FileServer {
public static void main(String[] args) throws IOException {
//创建服务器
ServerSocket server=new ServerSocket(5001);
//监听
Socket socket = server.accept();
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
//read接受文件
byte[] buffer=new byte[1024];
in.read(buffer);
//写到服务器上
FileOutputStream ou = new FileOutputStream("D:\\tang.txt");
ou.write(buffer);
ou.close();
in.close();
}
}
package www.itcast.cn;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Client {
public static void main(String[] args) throws UnknownHostException, IOException {
System.out.println("客户端启动");
//创建客户端对象
Socket socket=new Socket("192.168.15.47",5001);
//客户端想服务器发送消息
//String mess="helllo world";
Scanner scanner=null;
while (true) {
//创建输入流和输出流
InputStream in = socket.getInputStream();
OutputStream out=socket.getOutputStream();
String mess=scanner.nextLine();
//使用客户端的套接词的输出流
out.write(mess.getBytes());
if ("bye".equals(mess)) {
break;
}
}
//关闭资源
socket.close();
}
}
package www.itcast.cn;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class ReceiveDemo {
public static void main(String[] args) throws IOException {
System.out.println("接受启动");
//创建数据报包以接受发送的数据报包
DatagramPacket packet=new DatagramPacket(new byte[1024], 1024);
//创建套接词
DatagramSocket socket=new DatagramSocket(5000);
//接受报包
socket.receive(packet);
//获取字节数组
byte[] datas=packet.getData();
String mess=new String(datas);
//获取IP
String IP=packet.getAddress().getHostAddress();
//获取长度
int length=packet.getLength();
//获取端口
int port=packet.getPort();
System.out.println(IP+length+port);
System.out.println(mess);
socket.close();
}
}
package www.itcast.cn;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.io.IOException;
class ReceiveTang
{
public static void main(String[] args) throws IOException
{
System.out.println("接收端启动");
//创建数据报包,存储接收发送端发送的数据
DatagramPacket packet=new DatagramPacket(new byte[1024],1024);
//创建数据报包套接词,准备接收数据报包
DatagramSocket socket=new DatagramSocket(2000);
//套接词的方法receive接收数据报包
//z注意:没有返回值,直接接收存储到接收发送的数据报包中
socket.receive(packet);
//从数据报包中获取数据
//返回数据缓冲区
byte[] datas=packet.getData();
//返回IP地址=>IP的字符串表现形式
String ip=packet.getAddress().getHostAddress();
//返回数据长度
int length=packet.getLength();
//返回端口号
int port=packet.getPort();
System.out.print("IP:"+ip+" length:"+length+" port:"+port);
String mess = new String(datas, 0, length);
System.out.print("发送端:"+ip+"发送了:");
System.out.println(mess);
}
}
package www.itcast.cn;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
class SendTang1
{
public static void main(String[] args) throws Exception
{
System.out.println("发送端启动");
//准备数据
String mess="hello world";
byte[] datas=mess.getBytes();
//数据长度
int length = datas.length;
//IP地址
InetAddress ip=InetAddress.getByName("PC-20150131PIUS");
//端口号
int port=2000;
//封装数据报包
DatagramPacket packet=new DatagramPacket(datas,length,ip,port);
//创建发送报包套接词,准备发送数据报包
DatagramSocket socket=new DatagramSocket();
//发送数据报报
socket.send(packet);
//关闭数据报包套接词
socket.close();
}
}