客户端(PHP):
send.php
[php]
$fp = fsockopen("127.0.0.1", 1024, $errno, $errstr, 10);
$filename = '2012_07_23.zip'; //要发送的文件
fwrite($fp, $filename . "\r\n"); //写入文件名 java端用.readLine()..第一行就是文件名
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
//fwrite($fp,$contents); //小文件可以这样发,但大文件请分段
$data_size = 1024 * 1; //每次1M
$data_count = ceil( strlen($contents) / $data_size ); //有多少块数据
for( $i = 0; $i
{
$data = substr( $contents, $i * $data_size, $data_size ); //写入到传输socket
fwrite($fp,$data); www.2cto.com
}
fclose($fp);
?>
服务端(JAVA):
MyApp.java
[java]
import java.io.*;
import java.net.*;
import java.util.Date;
import java.sql.*;
public class MyApp
{
private int x;
public MyApp()
{
x = 0;
}
public static void main(String args[]) {
int i = 1, port = 1024;
ServerSocket server=null;
Socket client = null;
try{
server=new ServerSocket(port);
System.out.println("Web Server is listening on port" + server.getLocalPort());
for(;;){
client=server.accept();
//接受客户机的连接请求
new WebThread(client,i).start();
i++;
}
}catch(Exception e){System.out.println(e);}
}
}
WebThread.java
[java]
import java.io.*;
import java.net.*;
import java.util.Date;
class WebThread extends Thread{
Socket socket;//连接Web浏览器的socket字
int counter;//计数器
public WebThread(Socket cl,int c){
socket=cl;
counter=c;
}
public void run()//线程体
{
try
{
DataInputStream inputStream = null;
try
{
inputStream = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
}catch(Exception e)
{
}
try
{
String savePath = "E:\\";
int bufferSize = 8192;
byte[] buf = new byte[bufferSize];
String filename = new String();
filename = inputStream.readLine();
String saveFilePath = new String();
saveFilePath = savePath + "\\" + filename;
DataOutputStream fileOut = new DataOutputStream(new BufferedOutputStream(new BufferedOutputStream(new FileOutputStream(saveFilePath))));
System.out.println("文件长名为:" + filename);
while (true)
{
int read = 0;
if (inputStream != null)
{
read = inputStream.read(buf);
}
if (read == -1) {
break;
}
//System.out.println(buf.toString());
fileOut.write(buf, 0, read);
}
System.out.println("接收完成,文件存为" + saveFilePath + "\n");
fileOut.flush();
fileOut.close();
inputStream.close();
} catch (Exception e) {
System.out.println("接收消息错误" + e.toString() + "\n");
return;
}
}catch(Exception e){
}
}
}
作者:junqing124

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Linux new version
SublimeText3 Linux latest version

Dreamweaver CS6
Visual web development tools