一个简单的socket程序实例。
从这个例子我们可以看出,使用socket编程几乎有一个模式,即所有的程序几乎毫无例外地按相同的顺序调用相同的函数,程序只要调用这几个函数就可以实现,不必太多地关心socket程序设计的细节。
下面是程序的实现源码:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Test9_Save {
public void mySave(String des,int port){
try {
ServerSocket serverSocket = new ServerSocket(port);
Socket s = serverSocket.accept();
InputStream is =s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String name = br.readLine();
File f = new File(des+name);
if(!f.exists()){
f.createNewFile();
}
OutputStream os = new FileOutputStream(f);
int c = is.read();
while(c != -1){
os.write(c);
c= is.read();
}
br.close();
is.close();
os.close();
s.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Test9_Save save = new Test9_Save();
save.mySave("d://", 7777);
}
}
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class Test9_Send {
public void mySend(String src,String name,String ip,int port){
try {
Socket s = new Socket(ip,port);
InputStream is = new FileInputStream(src+name);
OutputStream os =s.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
bw.write(name);
bw.newLine();
bw.flush();
int c = is.read();
while(c != -1){
os.write(c);
c = is.read();
}
bw.close();
is.close();
os.close();
s.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
Test9_Send send = new Test9_Send();
send.mySend("c://", "seetdo1.jpg", "192.168.0.1", 7777);
}
}
转载注明出处:http://blog.csdn.net/ecorefeng