Client/Sever模式的通信——Java

基于UDP模式的C/S通信

这是Client端的:
import java.net.*;
import java.io.*;
public class UDPClient{
	public static void main(String args[]){
		DatagramSocket socket = null;
		DatagramPacket packet = null;
		InetAddress address = null;
		String s = "send the data , please !";
		byte buf[] = new byte[256];
		buf = s.getBytes();
		byte ip[] = {(byte)127,(byte)0,(byte)0,(byte)1};
		try{
			address = InetAddress.getByAddress(ip);
			socket = new DatagramSocket();
			packet = new DatagramPacket(buf,buf.length,address,1080);
			socket.send(packet);
			Thread.sleep(2000);
			packet = new DatagramPacket(buf,buf.length);
			socket.receive(packet);
			s = new String(packet.getData());
			System.out.println("received data is :"+s);
		}catch(Exception e){
			System.out.println(e.toString());
		}
		socket.close();
	}
}

这是Sever端的:

import java.net.*;
import java.io.*;
import java.util.*;
public class UDPSever{
	public static void main(String args[]){
		DatagramSocket socket1=null;
		DatagramPacket packet1=null;
		String s1;
		byte buf1[]= new byte[256];
		InetAddress address1 = null;
		int port1;
		Date date1;
		try{
			socket1 = new DatagramSocket(1080);
			packet1 = new DatagramPacket(buf1,buf1.length);
			socket1.receive(packet1);
			s1=new String(packet1.getData());
			System.out.println("received request:"+s1);
			port1 = packet1.getPort();
			address1= packet1.getAddress();
			date1 = new Date();
			s1 = date1.toString();
			buf1= s1.getBytes();
			packet1= new DatagramPacket(buf1,buf1.length,address1,port1);
			socket1.send(packet1);
			Thread.sleep(2000);
		}catch(Exception e){
			System.out.println(e.toString());
		}
		socket1.close();
	}
}

如果把这IP地址改改。就可以做简单的网络通信。

网络编程刚接触,慢慢学习。

时间: 2024-10-01 04:19:41

Client/Sever模式的通信——Java的相关文章

设计模式 - 迭代器模式(iterator pattern) Java 迭代器(Iterator) 详解

迭代器模式(iterator pattern) Java 迭代器(Iterator) 详解 本文地址: http://blog.csdn.net/caroline_wendy 参考迭代器模式(iterator pattern): http://blog.csdn.net/caroline_wendy/article/details/35254643 Java的标准库(util)中包含迭代器接口(iterator interface), import java.util.Iterator; 继承(

设计模式 - 迭代模式(iterator pattern) Java 迭代器(Iterator) 详细解释

迭代模式(iterator pattern) Java 迭代器(Iterator) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 參考迭代器模式(iterator pattern): http://blog.csdn.net/caroline_wendy/article/details/35254643 Java的标准库(util)中包括迭代器接口(iterator interface), import java.util.Iterator; 继承

JVM Server与Client运行模式

JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升.原因是: 当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器. C2比C1编译器编译的相对彻底,,服务起来之后,性能更高. java -version 可以直接查看出你使用的是client还是 server Jvm client代码: C:\Documents

Android BLE与终端通信(三)——client与服务端通信过程以及实现数据通信

Android BLE与终端通信(三)--client与服务端通信过程以及实现数据通信 前面的终究仅仅是小知识点.上不了台面,也仅仅能算是起到一个科普的作用.而同步到实际的开发上去,今天就来延续前两篇实现蓝牙主从关系的client和服务端了.本文相关链接须要去google的API上查看,须要FQ的 Bluetooth Low Energy:http://developer.android.com/guide/topics/connectivity/bluetooth-le.html 可是我们依旧

JVM的Server与Client运行模式区别与切换

概述 JVM有两种运行模式Server与Client.两种模式的区别在于,Client模式启动速度较快,Server模式启动较慢:但是启动进入稳定期长期运行之后Server模式的程序运行速度比Client要快很多.这是因为Server模式启动的JVM采用的是重量级的虚拟机,对程序采用了更多的优化:而Client模式启动的JVM采用的是轻量级的虚拟机.所以Server启动慢,但稳定后速度比Client远远要快. 1. 当前是Client or Server? 使用java -version命令就能

设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 使用方法

装饰者模式(Decorator Pattern) Java的IO类 使用方法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716823 装饰者模式(decorator pattern)参见: http://blog.csdn.net/caroline_wendy/article/details/26707033 Java的IO类使用装饰者模式进行扩展, 其中FilterInputStream类, 就是装饰者(decora

设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法

装饰者模式(Decorator Pattern) Java的IO类 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716823 装饰者模式(decorator pattern)參见: http://blog.csdn.net/caroline_wendy/article/details/26707033 Java的IO类使用装饰者模式进行扩展, 当中FilterInputStream类, 就是装饰者(decorato

微信企业号回调模式配置讲解 Java Servlet+Struts2版本 echostr校验失败解决

微信企业号回调模式配置讲解 Java Servlet+Struts2版本 echostr校验失败解决 echostr校验失败,请您检查是否正确解密并输出明文echostr 异常java.security.InvalidKeyException:illegal Key Size 也就是echostr校验失败,请您检查是否正确解密并输出明文echostr这个错误 企业微信登陆地址http://qy.weixin.qq.com/ 配置成功以后 Servlet public void doGet(Htt

com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95)

RabbitMQ 基于Erlang 实现, 客户端可以用Python | Java | Ruby | PHP | C# | Javascript | Go等语言来实现.这里做个java语言的测试.首先安装好RabbitMQ 服务端. maven依赖 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>3.0