Socket客户端:

[java] view plaincopyprint?
  1. public class SocketClient {
  2. public static void main(String[] args) {
  3. Socket socket = null;
  4. OutputStream out = null;
  5. InputStream in = null;
  6. try {
  7. socket = new Socket();
  8. // connect and set timeout
  9. socket.connect(new InetSocketAddress("127.0.0.1",8333), 2000);
  10. in = socket.getInputStream();
  11. out = socket.getOutputStream();
  12. out.write("abcd".getBytes());
  13. out.flush();
  14. } catch (IOException e) {
  15. e.printStackTrace();
  16. } finally {
  17. try {
  18. in.close();
  19. out.close();
  20. socket.close();
  21. } catch (IOException e) {
  22. e.printStackTrace();
  23. }
  24. }
  25. }
  26. }

Socket服务器端:

[java] view plaincopyprint?
  1. public class SocketServer {
  2. public static void main(String[] args) {
  3. try {
  4. // 实例化sSocket,参数为端口号port
  5. ServerSocket serverSocket = new ServerSocket(8333);
  6. while (true) {
  7. // 实例化Socket
  8. Socket socket = serverSocket.accept();
  9. // 新建线程TCPServer,并启动
  10. new Thread(new ServerSocketTask(socket)).start();
  11. }
  12. } catch (IOException e) {
  13. e.printStackTrace();
  14. }
  15. }
  16. }
[java] view plaincopyprint?
  1. public class ServerSocketTask implements Runnable {
  2. private Socket socket;
  3. public ServerSocketTask(Socket socket) {
  4. this.socket = socket;
  5. }
  6. @Override
  7. public void run() {
  8. // 定义输出流
  9. OutputStream output = null;
  10. // 定义输入流
  11. InputStream input = null;
  12. try {
  13. // 初始化输入流
  14. input = this.socket.getInputStream();
  15. // 初始化输出流
  16. output = socket.getOutputStream();
  17. String message = null;
  18. while (true) {
  19. // 定义byte[]数组,大小为1024;
  20. byte[] buf = new byte[1024];
  21. // 从输入流中读取输入存入字节数组
  22. int len = input.read(buf);
  23. // 将字节数组转换成字符串
  24. message = new String(buf,0,len);
  25. //* 实际使用中这里要用System.arrayCopy把byte数组拼起来,判断到结束条件后再break
  26. System.out.println(message);
  27. // 向输出流写入SUCCESS返回给客户端
  28. output.write("SUCCESS".getBytes());
  29. // 输出流flush
  30. output.flush();
  31. // 跳出循环
  32. break;
  33. }
  34. } catch (IOException e) {
  35. e.printStackTrace();
  36. }
  37. }
  38. }

Java Socket例子相关推荐

  1. socket 例子 java_java socket例子

    java socket例子 Server端: package test.bwl; import java.io.DataInputStream; import java.io.DataOutputSt ...

  2. java http服务端例子_简单的用 Java Socket 编写的 HTTP 服务器应用

    /*** SimpleHttpServer.java*/importjava.io.*;importjava.net.*;importjava.util.StringTokenizer;/*** 一个 ...

  3. 全网最全的Java Socket通讯例子

    一.前言 Socket通讯在银行.图书馆,物联网应用较多,日常都是Http/Https居多.网上关于Java的比较完整的Socket编程例子屈指可数,参考价值不大.要么是短连接且只支持纯文本通讯:要么 ...

  4. java 国际化例子_JavaSE 国际化 简单例子

    ①在src下添加两个文件: base_zh_CN.properties Test=\u8fd9\u662f\u4e2d\u6587 base_en_US.properties Test=english ...

  5. Java Socket 教程

    Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首 ...

  6. JAVA Socket 底层是怎样基于TCP/IP 实现的???

    首先必须明确:TCP/IP模型中有四层结构:       应用层(Application Layer).传输层(Transport  Layer).网络层(Internet Layer  ).链路层( ...

  7. java Socket(二)

    上次做了一个java socket一对一通信的例子这次来写一个一对多的通信,这里我们使用java的多线程来实现 首先来看一下服务类 /** * */ package com.dnion.socket; ...

  8. Java Socket编程详解

    Java Socket编程是Java网络编程很重要的内容,现参考了许多资料,总结如下: 1. Java网络编程原理+Socket编程 http://www.cnblogs.com/linzheng/a ...

  9. java socket编程客户端_Java Socket编程 - 基于Socket实现HTTP下载客户端

    没有借助任何第三方库,完全基于JAVA Socket实现一个最小化的HTTP文件下载客 户端.完整的演示如何通过Socket实现下载文件的HTTP请求(request header)发送 如何从Soc ...

最新文章

  1. abb变频器acs800功率_ABB变频器如何选型(1)
  2. 超级可靠、超低成本——BCH的雄心
  3. 计算机硬件拆解,计算机硬件系统及主机拆解.ppt
  4. 关于js复制文本信息(按钮级别)
  5. Eclipse——Java可视化开发环境配置
  6. 安装ORACLE 11G R2 +redhat es4遇到的问题
  7. 拍拍贷信贷申请审核竞赛模拟
  8. LeakCanary——直白的展现Android中的内存泄露
  9. 智能音箱 之 麦克风参数介绍
  10. VUE中父子组件传参(简单明了)
  11. POJ - 2828
  12. Python实现类似局域网QQ群聊
  13. 《现代控制系统》第四章——反馈控制系统特性 4.1 介绍
  14. linux V4L2子系统——v4l2架构(5)之v4l2_device与v4l2_subdev异步机制
  15. VIVADO HLS数组的优化
  16. 联想服务器pe进系统还原,传授联想如何一键还原系统
  17. 腾讯地图的引用html
  18. Avformat_open_input函数的分析 结合HTTP协议
  19. python读取csv数据画直方图_python 中直方图绘制
  20. 树莓派+UVC摄像头+网络监控

热门文章

  1. python命名空间更改_在Python中使用ElementTree改变命名空间前缀
  2. 13.QT信号槽的连接方式
  3. sql 忽略大小写_Flink使用Calcite解析Sql做维表关联(一)
  4. bzoj 4836: 二元运算
  5. 第六十一节,html超链接和路径
  6. Java API —— Collections类
  7. nginx处理web请求分析
  8. lua工具库penlight--05日期和时间
  9. 安全***需要掌握的东西
  10. EasyNVR摄像机网页直播中,推流组件EasyRTMP推送RTMP扩展支持HEVC(H.265)的方案