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();}}}}}
相关文章推荐
- 网络编程的演进——从Apache到Nginx
- Windows 环境下Apache HTTP Server 2.2的安装和使用apache转发weblogic集群
- javascript 发送http请求
- //dl-ssl.google.com/android/repository/repository-8.xml, reason: HttpHostConnect Connection to https
- php解析http获取的json字符串变量总是空白null
- WireShark查看指定的PC应用的网络包
- Linux之性能调优--CPU_内存_IO_网络
- 分享一个简单的HttpClient的例子
- IOS中http请求的cookie查看,删除,添加
- <转>virsh使用qemu+tcp访问远程libvirtd
- hdu 3549 Flow Problem(简单网络流Dinic)
- TCP 连接状态图
- IOS 9 https限制
- httpPost中文乱码解决方案(android)
- iOS开发网络篇之文件下载、大文件下载、断点下载
- HTTP1.1协议的chunked编码(chunked transfer encoding分块传输编码)
- tcp窗口滑动以及拥塞控制
- linux UDP,TCP相关特性
- 光速在网络上不够用
- windows下同一进程创建多份http的session方法