初学java socket编程实例代码讲解
1、所谓socket通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过”套接字”向网络发出请求或者应答网络请求。
操作java socket时用到的最多的三个方法为:
accept():主要用于服务器端产生“阻塞”,等待客户端的链接请求,并且返回一个客户端的Socket实例;
getInputStream():方法主要用来获得网络连接输入,同时返回一个InputStream对象实例;
getOutputStream():方法和上面的getInputStream相反。
2、一般要建立Java的Socket连接,应首先明确服务器端和客户端,服务器端使用ServerSocket监听指定的端口,使用accept等待客户端请求,链接链接,开始会话、完成会话后,关闭链接。(注意,一般socket的关闭都应该是服务器端来进行的,后面说);客户端使用Socket对网络中的某个服务器的某个端口发出链接请求,连接成功,开始会话,会话完成,Socket关闭。
2、示例代码:
服务器端:
package com.icer.server;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;/*** Server* * @author Icer* */
public class Server {private ServerSocket ss;private Socket s;private BufferedReader br;private PrintWriter pw;public Server() {try {ss = new ServerSocket(10000);System.out.println("Server is starting...");s = ss.accept();br = new BufferedReader(new InputStreamReader(s.getInputStream()));pw = new PrintWriter(s.getOutputStream(),true);String line = br.readLine();System.out.println(line);pw.println("your word is:" + line);//pw.println("helloworld");br.close();pw.close();} catch (IOException ie) {ie.printStackTrace();}}public static void main(String[] args) throws Exception {new Server();}
}
客户端:
package com.icer.client;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;/*** Client* @author Icer**/
public class Client {private Socket s;private BufferedReader br;//private BufferedReader line;private PrintWriter pw;private String line = "";public Client() {try{s = new Socket("127.0.0.1",10000);pw = new PrintWriter(s.getOutputStream(),true);br = new BufferedReader(new InputStreamReader(s.getInputStream()));pw.println("hello");line = br.readLine();System.out.println(line);br.close();pw.close();}catch(IOException ie){ie.printStackTrace();}}public static void main(String[] args) throws Exception {new Client();}
}
上就是本文的全部内容,希望对大家的学习有所帮助。
初学java socket编程实例代码讲解相关推荐
- tcp java实例_实现了基于TCP的Java Socket编程实例代码
实现了基于TCP的Java Socket编程,功能很简单:客户端向服务器端输出一名话"connect",服务器端接收输出到控制台并向客户端输出一名话"Hello" ...
- JAVA socket编程实例 转载
事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了.Java SDK提供一些相对简单的Api来完成这些工作.Socket ...
- JAVA socket编程实例
2019独角兽企业重金招聘Python工程师标准>>> 事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的 ...
- Java Socket编程如何建立两者关系
转自:http://developer.51cto.com/art/201003/190582.htm Java Socket编程需要大家详细的学习,有关的技术一直在不断的更新.那么要如何才能掌握好有 ...
- java socket 编程 客户机服务器_Java Socket编程服务器响应客户端实例代码
通过输入流来读取客户端信息,相应的时候通过输出流来实现. 服务端类的代码: import java.io.BufferedReader; import java.io.IOException; imp ...
- java socket编程心跳_Java Socket编程心跳包创建实例解析
1.什么是心跳包? 心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包. 用来判断对方(设备,进程或其它网元)是否正常运行,采用 ...
- JAVA socket编程 Datagram套接字 UDP协议(转)
查看文章 JAVA socket编程 Datagram套接字 UDP协议 2009-05-13 09:35 1 UDP套接字 数据报(Datagram)是网络层数据单元在介质上传输信息的一 ...
- Java Socket编程----通信是这样炼成的
转载自 Java Socket编程----通信是这样炼成的 Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socke ...
- 学java用什么写比较好_学习Java需要什么基础,初学Java如何写好代码
原标题:学习Java需要什么基础,初学Java如何写好代码 初学Java的同学时常会遇到这样的情况,跟着入门教程看过一遍,但需要自己写代码的时候却无从下手:写代码的时候时常会遇到不懂的地方,如果停下来 ...
- Java经典编程实例源码及视频专题汇总
转:http://blog.itpub.net/28566218/viewspace-760945/ Java经典编程实例源码及视频专题汇总 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语 ...
最新文章
- 复习计算机网络基础 day5--物理层
- Git Gui的使用
- 校园资源建设平台源代码
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了
- redis 安全 备份 事务
- jdk678910新特性地址
- 阿里技术参考图册-研发篇
- 查看局域网内所有用户
- Android模拟器adb命令介绍
- linux运维常用命令大全150条
- 就百度指数对比分析“微博”与“知乎”搜索人数
- 无线网主dns服务器,无线网的dns怎么设置
- uni-app 支付宝小程序授权,获取用户基础信息(头像图片地址、昵称、性别、国家码、省份、所在市区)
- toms 尺寸 shoes or boots finds
- CH340与Android串口通信
- 华为防火墙L2TP/L2TP over IPSec
- VBA增加sheet,重名时自动命名
- z-index 应用简单总结
- 大半夜睡不着,聊一下在小外包公司工作一年后的感想吧
- 服务器的全部作用,王者荣耀有哪些服务器_王者荣耀全部服务器功能详解_玩游戏网...