Java 使用Socket进行网络通信

作者 : 卿笃军

原文地址:http://blog.csdn.net/qingdujun/article/details/39300293

下面演示一个程序,用客户端给服务器发送一条信息,服务器收到后,打印在控制面板上。

1)客户端,给服务器发送数据

2)服务器,收到数据后,打印在控制面板上

一、客户端,主要步骤:

1)创建udp服务。通过DatagramSocket对象。

2)创建数据,并封装成数据包。

3)通过Socket服务,将已有数据包发送出去。通过send方式。

4)关闭资源。

客户端,发送数据代码如下:

package udp.send.qdj;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
//Udp发送端
public class CUdpsend {

	public static void main(String[] args) throws Exception {
		//1.创建udp服务。通过DatagramSocket对象。
		DatagramSocket ds = new DatagramSocket(1234);
		//2.创建数据,并封装成数据包。
		//DatagramPacket(byte[] buf, int length, InetAddress address, int port)
        //构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。
		byte[] buf = "udp send from Server".getBytes();
		DatagramPacket dp = new DatagramPacket(buf, buf.length,InetAddress.getByName("10.100.56.210"),10000);
		//3.通过Socket服务,将已有数据包发送出去。通过send方式。
		ds.send(dp);
		//4.关闭资源
		ds.close();
	}
}

二、服务器端,主要步骤如下:

1)创建Udp Socket,建立端点。监听一个端口,其实就是给这个网络程序一个数字标示,方便与明确,哪些数据该应用程序可以处理。

2)定义数据包。用于储存数据。

3)通过服务的receive方法将收到数据存入数据包中。

4)通过数据包的方法获取其中的数据。

5)关闭资源。

服务器端,接受数据并打印在控制面板上,代码如下:

package udp.rece.qdj;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

//Udp接收端
public class CUdprece {

	public static void main(String[] args) throws Exception{
		//1.创建Udp Socket,建立端点。监听一个端口,其实就是给这个网络程序一个数字标示,
		//方便与明确,哪些数据该应用程序可以处理。
		DatagramSocket ds = new DatagramSocket(10000);
		//2.定义数据包。用于储存数据。
		byte[] buf = new byte[1024];
		DatagramPacket dp = new DatagramPacket(buf,buf.length);
		//3.通过服务的receive方法将收到数据存入数据包中。
		//此方法为阻塞式方法,没数据接受时,处于阻塞状态。
		ds.receive(dp);
		//4.通过数据包的方法获取其中的数据。
		//获得ip地址
		String ip = dp.getAddress().getHostAddress();
		//获得传送数据
		String data = new String(dp.getData(),0,dp.getLength());
		//获得端口号
		int port = dp.getPort();
		System.out.println("ip地址:"+ip+"\n发送内容data:"+data+"\n端口号port:"+port);
		//5.关闭资源
		ds.close();
	}
}

运行结果显示:

参考文献:Java视频 毕向东 主讲

原文地址:http://blog.csdn.net/qingdujun/article/details/39300293

时间: 2024-10-12 16:10:50

Java 使用Socket进行网络通信的相关文章

Java TCP使用Socket进行网络通信(3)

作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39322051 本文演示,TCP使用Socket进行网络通信,建立简单的客户端,并使用客户端给服务器发送一条消息,服务端接收到后,将数据打印在控制台上. 1)客户端,发送一个消息给服务端. 2)服务端,接收到客户端的消息,并打印在控制台上. 客户端,代码如下: package tcp.clinet.qdj; import java.io.OutputStream; impo

Java TCP使用Socket进行网络通信(4)之往返发送

作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39322613 本文演示,TCP使用Socket进行网络通信,实现客户端与服务器端数据的往返发送. 1)客户端,给服务器发送消息,并将接受到的服务器消息打印在客户端控制台上. 2)服务端,接受客户端消息,并打印在服务器开端控制台上,同时给客户端回复收到消息. 客户端,代码如下: package tcp.client2.qdj; import java.io.InputStr

Java之Socket

简述 Java中Socket分为普通Socket和NioSocket两种,这里介绍Socket. 我们可以把Socket比作两个城市间的交通工具,有了它可以在两城之间来回穿梭,交通工具有很多种,每种交通工具也有相应的交通规则.Socket也一样,也有多种.大多情况下使用的是TCP/IP的流套接字,它是一种稳定的通信协议.(TCP/IP与UDP的对比) Java中的网络通信是通过Socket实现的,Socket分为ServerSocket和Socket两大类,ServerSocket用于服务端,通

Java中Socket通信的知识回顾---学习笔记

两台计算机进行通信的基本前提: (1)IP地址: 每台计算机都有自己独一无二的IP地址,根据IP地址判断与哪台计算机进行通信. (2)端口号: 每个应用程序都有自己专属的端口,根据端口号判断与计算机中的哪个应用程序进行通信. 说明: <1>用于区分不同应用程序 <2>端口号的范围:0-65535,其中0-1023是为系统保留的端口号 <3>常用的协议的端口号: http:80 ftp:21 telnet:23 <4>IP地址+端口号=Socket,Socke

java的Socket

java API为我们网络通信提供了服务器套接字ServerSocket类和客户端套接字Socket,Socket是网络驱动层提供给应用程序编程的接口和一种机制. 下面提供具体实现例子 服务端--ServerSocket ServerSocket类实现了服务器的套接字,主要方法 ServerSocket(int port)-----创建绑定到特定端口的服务器套接字 void setSoTimeout(timeout);----指定超时时间 InetAdress getInetAddress()-

Java语言Socket接口用法详解

Socket接口用法详解   在Java中,基于TCP协议实现网络通信的类有两个,在客户端的Socket类和在服务器端的ServerSocket类,ServerSocket类的功能是建立一个Server,并通过accept()方法随时监听客户端的连接请求. 扩展: ServerSocket中常用的构造函数及方法 构造函数:ServerSocket(int port) 这是一个构造方法,用于在当前的服务器默认的IP地址上监听一个指定的端口,即在指定的IP和端口创建一个ServerSocket对象

Java基于Socket文件传输示例(转)

最近需要进行网络传输大文件,于是对基于socket的文件传输作了一个初步的了解.在一位网友提供的程序基础上,俺进行了一些加工,采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流进行包装,加快传输的速度.废话少说,先来看服务器端的程序. 1.服务器端 package sterning; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.DataOutputStream;

java.net.ServerSocket和java.net.Socket

个人博客地址:http://www.cnblogs.com/wdfwolf3/ java.net.ServerSocket 1.构造函数 a.ServerSocket() 创建一个无连接的server socket. b.ServerSocket(int port) 绑定到port端口上 c.ServerSocket(int port, int backlog) backlog表示等待连接的队列最大长度 d.ServerSocket(int port, int backlog, InetAddr

java网络socket编程详解

7.2 面向套接字编程    我们已经通过了解Socket的接口,知其所以然,下面我们就将通过具体的案例,来熟悉Socket的具体工作方式 7.2.1使用套接字实现基于TCP协议的服务器和客户机程序    依据TCP协议,在C/S架构的通讯过程中,客户端和服务器的Socket动作如下: 客户端: 1.用服务器的IP地址和端口号实例化Socket对象. 2.调用connect方法,连接到服务器上. 3.将发送到服务器的IO流填充到IO对象里,比如BufferedReader/PrintWriter