-------android培训、java培训、期待与您交流! ----------
学习了网络编程 ,在此基础上,记录一下对自己有用的,怕忘的部分,同时也与网友们都交流沟通
</pre><pre name="code" class="java">
import java.io.*;
import java.net.*;
/*客户端编码,客户端比较简单,主要的是用输入输出流*/
class TextClient {
public static void main(String[] args) throws UnknownHostException,
IOException {
Socket s = new Socket("192.168.1.183", 8888);
BufferedInputStream bufr = new BufferedInputStream(new FileInputStream("1.mp3"));
PrintStream out = new PrintStream(s.getOutputStream(),true);
byte[] buf = new byte[1024];
int len ;
while ((len = bufr.read(buf)) != -1) {
out.write(buf, 0, len);
}
//告诉服务端服务已解除
s.shutdownOutput();
BufferedReader bufIn = new BufferedReader(new InputStreamReader(
s.getInputStream()));
String str = bufIn.readLine();
System.out.println(str);
bufr.close();
s.close();
}
}
<pre name="code" class="java">
/*
实现了多线程,当每个用户连接时,都会新建一个线程处理,没有单独写成一个方法
*/
class TextServer {
static int i=0;
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(8888);
while(true){
Socket s = ss.accept();
new Thread(){
public void run() {
System.out.println(s.getLocalSocketAddress());
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip + "....connected");
try {
BufferedInputStream bufIn = new BufferedInputStream(s.getInputStream());
PrintStream out = new PrintStream(new FileOutputStream("server"+(i++)+".mp3"), true);
byte[] buf = new byte[1024];
int len ;
while ((len = bufIn.read(buf)) != -1) {
out.write(buf, 0, len);
}
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
pw.println("上传成功");
out.close();
s.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}.start();
}
}
}