首先服务器应该开启,并开启一个端口号供客户端进行连接通信,实现这个是通过服务器通过监听这个端口号的通信来确定是否有客户端进行访问,实现这个是通过,服务器做好了准备工作,那客户端可以与客户端进行通信了,首先创建连接,这里的ip和port都是服务器的。
当客户端断开连接Socket.close()时,服务器端可以接收到一个结束标志(-1)例:
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
import java.io.InputStream
import java.net.ServerSocket
import java.net.Socket
public class ServerMain {
public ServerMain() {
try {
File file = new File("C:\\face2.jpg")
FileOutputStream out = new FileOutputStream(file)
ServerSocket ss = new ServerSocket(30102)
Socket s = ss.accept()
InputStream in = s.getInputStream()
int b = -1
while((b = in.read()) != -1){
out.write(b)
}
// 当客户端断开连接Socket.close()时,服务器端接收到了一个结束标志(-1)
System.out.println(b)
s.close()
out.flush()
out.close()
} catch (IOException e) {
e.printStackTrace()
}
}
public static void main(String[] args) {
new ServerMain()
}
}
import java.io.File
import java.io.FileInputStream
import java.io.IOException
import java.io.OutputStream
import java.net.Socket
import java.net.UnknownHostException
public class ClientMain {
public ClientMain() {
try {
Socket s = new Socket("192.168.1.100", 30102)
File file = new File("C:\\face1.jpg")
FileInputStream in = new FileInputStream(file)
OutputStream out = s.getOutputStream()
int b = -1
while((b = in.read()) != -1){
out.write(b)
}
out.flush()
s.close()
in.close()
} catch (UnknownHostException e) {
e.printStackTrace()
} catch (IOException e) {
e.printStackTrace()
}
}
public static void main(String[] args) {
new ClientMain()
}
}
如果服务器开通了ftp服务,你的客户端可以实现一个ftp的客户端,通过ftp服务将文件上传到服务器的指定目录下,可以使用org.apache.commons.net.ftp.FTPClient这个类去实现,非常的简单,网上有很多现成的代码可以用欢迎分享,转载请注明来源:夏雨云
评论列表(0条)