您的位置:首页 > 理论基础 > 计算机网络

java 简单的TCP接收数据与发送数据

2015-09-08 15:39 591 查看
package com.xiuye.ooooo;

import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class Client {

public static void main(String[] args) {

Socket socket = null;
try {
System.out.println("connecting...");
socket = new Socket("localhost", 8888);
System.out.println("connection success");
Scanner in = new Scanner(System.in);
PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(),"utf-8"),true);
String str = "";
while(!(str = in.nextLine()).equals("q"))
{

pw.println(str);

}
pw.println("bye-bye");
pw.close();
in.close();

} catch (Exception e) {
e.printStackTrace();
}
finally{
if(socket!=null)
{
try{
socket.close();
}
catch(Exception e){

}
}
}

}

}
<pre name="code" class="java">package com.xiuye.ooooo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;public class Server {private static class ClientHandler implements Runnable {private Socket socket;public ClientHandler(Socket socket) {this.socket = socket;}@Overridepublic void run() {try {BufferedReader  br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"utf-8"));String str = "";//socket.getOutputStream().close();while((str = br.readLine()) != null){System.out.println(socket.getRemoteSocketAddress()+":"+ str);}br.close();} catch (Exception e) {e.printStackTrace();}finally{System.out.println("client is over");if(socket!=null){try {socket.close();} catch (IOException e) {e.printStackTrace();}}}}}public static void main(String[] args) {ServerSocket server = null;try {server = new ServerSocket(8888);while (true) {System.out.println("listening...");Socket socket = server.accept();System.out.println("connected...");ClientHandler handler = new ClientHandler(socket);Thread t = new Thread(handler);t.start();}} catch (Exception e) {e.printStackTrace();}finally{if(server!=null){try {server.close();} catch (IOException e) {e.printStackTrace();}}}}}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: