知识点整理之Java Socket
2015-04-17 09:01
411 查看
依旧是自己平时用到的一些东西的整理
Socket客户端:
Socket服务器端:
Socket客户端:
public class SocketClient { public static void main(String[] args) { Socket socket = null; OutputStream out = null; InputStream in = null; try { socket = new Socket(); // connect and set timeout socket.connect(new InetSocketAddress("127.0.0.1",8333), 2000); in = socket.getInputStream(); out = socket.getOutputStream(); out.write("abcd".getBytes()); out.flush(); } catch (IOException e) { e.printStackTrace(); } finally { try { in.close(); out.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
Socket服务器端:
public class SocketServer { public static void main(String[] args) { try { // 实例化sSocket,参数为端口号port ServerSocket serverSocket = new ServerSocket(8333); while (true) { // 实例化Socket Socket socket = serverSocket.accept(); // 新建线程TCPServer,并启动 new Thread(new ServerSocketTask(socket)).start(); } } catch (IOException e) { e.printStackTrace(); } } }
public class ServerSocketTask implements Runnable { private Socket socket; public ServerSocketTask(Socket socket) { this.socket = socket; } @Override public void run() { // 定义输出流 OutputStream output = null; // 定义输入流 InputStream input = null; try { // 初始化输入流 input = this.socket.getInputStream(); // 初始化输出流 output = socket.getOutputStream(); String message = null; while (true) { // 定义byte[]数组,大小为1024; byte[] buf = new byte[1024]; // 从输入流中读取输入存入字节数组 int len = input.read(buf); // 将字节数组转换成字符串 message = new String(buf,0,len); //* 实际使用中这里要用System.arrayCopy把byte数组拼起来,判断到结束条件后再break System.out.println(message); // 向输出流写入SUCCESS返回给客户端 output.write("SUCCESS".getBytes()); // 输出流flush output.flush(); // 跳出循环 break; } } catch (IOException e) { e.printStackTrace(); } } }
相关文章推荐
- 敢说你java基础很好吗?你能答对几个?(Java基础知识点整理)
- JavaCore知识点整理
- Java基础知识点整理Day_04
- Java面试知识点整理(一)
- JAVA中文件上传下载知识点整理
- java面试知识点整理之扩展系列
- Java注解知识点整理
- Java基础------知识点整理(三)----- 继承
- Java知识点整理:第二章:Java基础知识梳理
- Android-Java 小知识点整理
- 【Java TCP/IP Socket】Socket编程知识点总结
- 【整理】Java知识点
- [Java笔试面试知识点自整理系列]HashMap,HashTable的区别
- [置顶] 基础知识整理之Java基础知识点梳理(详细)
- Java_socket程序学习0501-彩票销售-第一阶段server端整理-成功
- Java基础知识点整理Day_01
- Java基础面试题知识点整理
- Java面试题以及知识点整理(1)
- Java知识点整理:第十三章:字符串的序列化(文字的编码方案)、字符流(Reader Writer)、对象序列化
- 【Java多线程与并发】知识点整理(追加中)