Java socket通讯(一)
2015-12-22 15:55
706 查看
写博客只是为了方便记忆,希望自己能够坚持下去。
在java jdk中,
TCP/IP协议 一般使用 ServerSocket,Socket 来建立网络通讯。
UDP协议 一般使用DatagramSocket,Datagrampacket,MulticastSocket来建立网络通讯。
TCP/IP 通讯协议的优点:通信可靠。保证了数据在传送过程中准确无误,即使在Intent暂时出现堵塞的情况下,TCP也能够保证通讯的可靠。
废话不多说,直接上例子。
Socket服务端:
Socket客户端:
最后输出结果:
在java jdk中,
TCP/IP协议 一般使用 ServerSocket,Socket 来建立网络通讯。
UDP协议 一般使用DatagramSocket,Datagrampacket,MulticastSocket来建立网络通讯。
TCP/IP 通讯协议的优点:通信可靠。保证了数据在传送过程中准确无误,即使在Intent暂时出现堵塞的情况下,TCP也能够保证通讯的可靠。
废话不多说,直接上例子。
Socket服务端:
public static void main(String[] args) { try { ServerSocket service = new ServerSocket(8888);// 创建端口8888的监听对象,监听客户请求(端口范围是0~65535) while (true) { Socket socket = service.accept();// 阻塞等待客户请求 OutputStream os=socket.getOutputStream(); //实例化一个输出流 os.write("服务端连接成功\n".getBytes("utf-8")); //向客户端输出内容 os.close(); //关闭输出流 socket.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
Socket客户端:
public static void main(String[] args) { try { Socket sk = new Socket("192.168.1.188", 4800); sk.setSoTimeout(10000);// 设置请求响应时间 // 另一种请求socket服务端写法 // Socket sk = new Socket(); // sk.connect(new InetSocketAddress("192.168.1.188", 4800), 10000); BufferedReader br = new BufferedReader(new InputStreamReader( sk.getInputStream(), "utf-8")); //获取到服务端的输入流 String line = br.readLine(); System.out.println("来自服务端的消息:" + line); br.close(); sk.close(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
最后输出结果:
相关文章推荐
- LayoutInflater 用法
- TestNG入门教程(TestNG介绍、在Eclipse中安装TESTNG、测试小例子、基本注解、如何执行测试、按顺序执行Case、异常测试、组合测试、参数化测试、忽略测试、依赖测试、测试结果报告)
- 轻量级JavaEE企业应用实战(十四)
- spring事务传播
- Java初学习 - 线程同步的一点说明
- java.lang.Runtime类知多少?
- Java NIO:浅析I/O模型
- 第二章 Spring MVC入门
- Spring 注解 @Resource和@Autowired
- eclipse打开后处于无响应状态
- window 7 下用MyEclipse编写Java程序连接HBase时遇到的问题
- Maven构建SpringMVC项目详解
- 完美解决SSH项目Hibernate update时候org.springframework.dao.DuplicateKeyException
- 用 eclipse 创建javafx 可以运行但是报错的解决方法
- 增量更新开发语言Java转型安卓移动开发的行进
- Java中byte转换int时与0xff进行与运算的原因
- Java Socket
- 关于JAVA类文件加载和执行过程(待修正)
- Eclipse工作区配置查看
- JAVA垃圾回收机