socket 简单介绍与例子

原创 2016年10月17日 10:40:11

java提供四种类型的网络通信:

1、InelAddress:用于标识网络上的硬件资源,表示互联网协议地址(IP);

2、URL:统一资源定位符  通过URL可以直接读取或写入网络上的数据;

3、Sockets:使用TCP协议实现网络通信的Socket相关的类(客户端的Socket类;服务器端的ServerSocket类),

TCP协议是面向连接、可靠的、有序的,以字节流的方式发送数据基于TCP协议实现网络通信;

4、Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信;


在Socket编程模式中,Socket类用来创建客户端程序,ServerSocket类用来创建服务端程序。

一般步骤:

1、创建服务端程序,通过ServerSocket类创建服务端程序,一般指定一个监听端口,用来等待客户端的连接;

2、创建客户端程序,通过Socket类创建客户端程序,需要指定服务器地址与端口号;

一旦连接建立ServerSocket就可以获得一个Socket实例,通过Socket打开输入、输出流,进行通信。


客户端代码:

try {
    //实例化socket     访问服务器的ip加端口 
	Socket socket = new Socket("192.168.1.101",8888);
    //获取输入流 
	InputStream in = socket.getInputStream();
    // 缓冲区
	byte[] buffer = new byte[in.available()];
    //读到缓冲区 
	in.read(buffer);
	String msg = new String(buffer);
    System.out.println(msg);
} catch (UnknownHostException e) {
	e.printStackTrace();
} catch (IOException e) {
	e.printStackTrace();
}

服务端代码:
try {
	//实例化服务器套接字
	ServerSocket server = new ServerSocket(8888);
	while(true){
		//获得客户端套接字
		Socket client = server.accept();
		//获得输出流
		OutputStream out = client.getOutputStream();
		//输出字符串
		String msg = "Hello world!";
		//写字符串
		out.write(msg.getBytes());
		//关闭输出流
		client.close();
	}
} catch (IOException e) {
	e.printStackTrace();
}

更加详细介绍:http://blog.csdn.net/pony_maggie/article/details/47193863


版权声明:本文为博主原创文章,未经博主允许不得转载。

Java Socket 简单编程实例

之前照着书写了一个实例,最后一次java实验也就结束了,后来还有一个是写计算机网络课程设计好像写到了套接字Socket 现在又把重新拿出来,感觉是有不少东西要学习的。 所谓socket通常也称作"...
  • Candyys
  • Candyys
  • 2017年06月27日 21:27
  • 293

最简单的Windows套接字(Socket)例子(源码,实例)

最简单的Windows套接字(Socket)例子(源码,实例) 佟强(http://blog.csdn.net/microtong) 2008年11月21日    Server.exe PortNum...
  • microtong
  • microtong
  • 2008年11月21日 21:05
  • 18337

简单的Socket示例

【服务器端步骤】 初始化Windows Socket库 创建Socket: socke函数 绑定Socket: bind函数 监听Socket: listen 接受Socket:accept...
  • qq_27991659
  • qq_27991659
  • 2016年05月24日 15:04
  • 556

Android实现socket简单通信

1.添加权限 "android.permission.CHANGE_NETWORK_STATE"/>  "android.permission.CHANGE_WIFI_STAT...
  • qq_28031701
  • qq_28031701
  • 2016年07月01日 10:04
  • 314

Java socket的一个完整实例

    刚看了看socket的相关知识,现在找了一个实例看了看,想把它放到这里以便以后学习方便之用。文件1:SocketServer.java        ---->        Socket服务...
  • karem
  • karem
  • 2009年10月07日 12:28
  • 15103

Visual c++ 6.0 Socket简单例子

#include  #include  #pragma comment(lib,"wsock32.lib") using namespace std;int main(){    WSADATA da...
  • silence1214
  • silence1214
  • 2008年11月21日 10:48
  • 2416

HDMI的简单介绍

最近使用IMX6做HDMI的输出显示,记录一下关于HDMI的理解: 高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)是一种数字化视频/音频接口...
  • a421701136
  • a421701136
  • 2016年05月17日 19:36
  • 544

Servlet介绍以及简单实例

Servlet介绍以及简单实例目录Servlet介绍以及简单实例 HTTP Web响应模式 Servlet工作流程 Servlet接口访问方式介绍:GET/POST Servlet配置部署 在web....
  • u013891695
  • u013891695
  • 2016年11月04日 17:13
  • 1452

简单的linux c socket例子

简单的linux c socket程序,服务端和客户端示例。
  • flynetcn
  • flynetcn
  • 2010年08月21日 21:31
  • 18966

简单介绍MVC,和一个具体的Mvc例子

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。    MVC 结构图         mvc的优点:   下...
  • peixuh
  • peixuh
  • 2013年10月11日 23:05
  • 7819
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:socket 简单介绍与例子
举报原因:
原因补充:

(最多只允许输入30个字)