`
javacto
  • 浏览: 85596 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

网络学习【017】

阅读更多
-------1----------------------------------------------------------------------------------
// TCP example one

package com.testnet;
import java.net.* ;
import java.io.* ;
public class TCPServer {
	public static void main(String args[]) throws Exception {
		ServerSocket ss = new ServerSocket(5566);
		while (true) {
			Socket as = ss.accept();
			DataInputStream dis = new DataInputStream(as.getInputStream()) ;
			System.out.println(dis.readUTF()) ;
//			System.out.println("A client connect!");
			dis.close() ;
			as.close();
		}
	}
}


package com.testnet;
import java.io.*;
import java.net.* ;
public class TCPClinet {
	public static void main(String args[])throws Exception {
		Socket s = new Socket("127.02.0.1", 5566) ;
		OutputStream os = s.getOutputStream() ;
		DataOutputStream dos = new DataOutputStream(os) ;
		dos.writeUTF("hello server !") ; //以与机器无关方式使用 UTF-8 修改版编码将一个字符串写入基础输出流
		dos.flush();
		dos.close();
		s.close();
	}

}



package com.testnet;
import java.io.*;
import java.net.* ;
public class TCPClinet1 {
	public static void main(String args[])throws Exception {
		Socket s = new Socket("127.02.0.1", 6655) ;
		OutputStream os = s.getOutputStream() ;
		DataOutputStream dos = new DataOutputStream(os) ;
		Thread.sleep(30000) ;
		dos.writeUTF("hello everyone !") ; //以与机器无关方式使用 UTF-8 修改版编码将一个字符串写入基础输出流
		dos.flush();
		dos.close();
		s.close();
	}
}	



--2----------------------------------------------------------------------------------
package testnet1;
import java.io.* ;
import java.net.* ;
public class TestClient {
	public static void main(String args[]) {
		try {
			Socket soc = new Socket("127.02.0.1",8888) ;
			DataInputStream dis = new DataInputStream(soc.getInputStream()) ;
			System.out.println(dis.readUTF()) ;
			soc.close();
			dis.close();
		} catch(ConnectException cone) {
			cone.printStackTrace();
			System.out.println("Server connect failure") ;
		} catch (IOException e) {
			e.printStackTrace() ;
		}	
	}

}



package testnet1;
import java.io.* ;
import java.net.* ;
public class TestServer {
	public static void main(String args[]) {
		try {
			ServerSocket ss = new ServerSocket(8888) ;
			while(true) {
				Socket s1 = ss.accept();
				DataOutputStream dos = new DataOutputStream(s1.getOutputStream()) ;
				dos.writeUTF("HELLO," + s1.getInetAddress() + " port#" + s1.getPort() + "Bye-bye") ;
				dos.close();
				s1.close();
			}
		} catch (IOException e) {
			e.printStackTrace() ;
			System.out.println("Program running error") ;
		}
	}

}



-------3---------------------------------------------------------------------------------------
package testnet2;
import java.io.* ;
import java.net.* ;
public class TestServer {
	public static void main(String args[]) {
		InputStream in = null ;
		OutputStream out = null ;
		try {
			ServerSocket ss = new ServerSocket(2382) ;
	        Socket so = ss.accept();
	        DataOutputStream dos = new DataOutputStream(so.getOutputStream()) ;
	        DataInputStream dis = new DataInputStream(so.getInputStream()) ;
	        String s = null ;
	        if((s=dis.readUTF()) != null) {
	        	System.out.println(s) ;
	        	System.out.println("From:" + so.getInetAddress()) ; //此套接字连接到的远程 IP 地址;如果套接字是未连接的,则返回 null
	        	System.out.println("Fort:" + so.getPort()) ; //返回此套接字连接到的远程端口
	        }
	        dos.writeUTF("hi, hello") ;
	        dos.close() ;
	        dis.close();
	        so.close();
		} catch(IOException e) {
			e.printStackTrace();
		}
	}

}


package testnet2;
import java.io.* ;
import java.net.* ;

public class TestClinet {
	public static void main(String args[]) {
		InputStream is = null ;
		OutputStream os = null ;
		try {
			Socket s = new Socket("192.168.1.104",2382) ;
			DataInputStream dis = new DataInputStream(s.getInputStream()) ;
			DataOutputStream dos = new DataOutputStream(s.getOutputStream()) ;
			dos.writeUTF("hey") ;
			String st = null ;
			if((st=dis.readUTF()) != null){
				System.out.println(st) ;
				dis.close() ;
				dos.close() ;
				s.close() ;
			}
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

-----4----------------------------------------------------------------------------------
package testudp1;
import java.io.IOException;
import java.net.* ;
public class TestServer {
	public static void main(String args[]) {
		byte buf[] = new byte[1024] ;
		DatagramPacket dp = new DatagramPacket(buf,buf.length) ; //用于接收对方的数据
		DatagramSocket ds = null ; 
		try {
			ds = new DatagramSocket(5678) ; // udp 的5678 端口
		} catch (SocketException e) {
			e.printStackTrace();
		}
		while(true) {
			try {
				ds.receive(dp) ; //从此套接字接收数据报包dp
			} catch (IOException e) {
				e.printStackTrace();
			}
			System.out.println(new String(buf,0,dp.getLength())) ; //dp.getLength()得到实际收到的数据
		}
	}

}


package testudp1;
import java.io.IOException;
import java.net.* ;
public class TestClient {
	public static void main(String args[]) {
		byte[] buf = (new String("Hello")).getBytes(); //把字符串解析成字符数组
		try {
			DatagramPacket dp = new DatagramPacket(buf, buf.length, new InetSocketAddress("127.0.0.1", 5678)) ; //构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号;SocketAddress包含ip和端口 
			DatagramSocket ds = new DatagramSocket(9999) ; //创建数据报套接字,将其绑定到指定的本地地址
			try {
				ds.send(dp) ;  //从此套接字发送数据报包dp
				ds.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (SocketException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}


------5----------------------------------------------------------------------------------
package testudp2;
import java.io.* ;
import java.net.* ;
public class TestUDPServer {
	public static void main(String args[]) {
		byte buf[] = new byte[1024] ;
		DatagramPacket dp = new DatagramPacket(buf,buf.length) ; //用于接收对方的数据
		DatagramSocket ds = null ; 
		try {
			ds = new DatagramSocket(5678) ; // udp 的5678 端口
		} catch (SocketException e) {
			e.printStackTrace();
		}
		while(true) {
			try {
				ds.receive(dp) ; //从此套接字接收数据报包dp
			} catch (IOException e) {
				e.printStackTrace();
			}
			ByteArrayInputStream bis = new ByteArrayInputStream(buf)  ;
			DataInputStream dis = new DataInputStream(bis) ;
			try {
				System.out.println(dis.readLong()) ;
			} catch (IOException e) {
				e.printStackTrace();
			}
			
		}
	}

}

package testudp2;
import java.io.ByteArrayOutputStream;
import java.io.* ;
import java.net.* ;

public class TestUDPClient {
	public static void main(String args[]) {
//		byte[] buf = (new String("Hello")).getBytes(); //把字符串解析成字符数组
		try {
			long n = 1000L ;
			ByteArrayOutputStream baos = new ByteArrayOutputStream() ;
			DataOutputStream dos = new DataOutputStream(baos) ;
			dos.writeLong(n) ;
			byte[] buf = baos.toByteArray() ;
			System.out.println(buf.length) ;
			
			
			DatagramPacket dp = new DatagramPacket(buf, buf.length, new InetSocketAddress("127.0.0.1", 5678)) ; //构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号;SocketAddress包含ip和端口 
			DatagramSocket ds = new DatagramSocket(9999) ; //创建数据报套接字,将其绑定到指定的本地地址
			try {
				ds.send(dp) ;  //从此套接字发送数据报包dp
				ds.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (SocketException e) {
			// TODO Auto-generated catch block
			e.printStackTrace(); 
		} catch(IOException e) {
			e.printStackTrace() ;
		}
	
	}

}


-------6------------------------------------------------------------------------------------

package TestOne;
import java.io.* ;
import java.net.* ;
public class TalkServer {
	public static void main(String args[]) {
		try {
			ServerSocket server = null ;
			try {
				server = new ServerSocket(4700) ;
			} catch (IOException e) {
				System.out.println("cann't listen to:" + e) ;
				System.exit(-1) ;
			}
			Socket socket = server.accept();
			BufferedReader is = new BufferedReader (new InputStreamReader(socket.getInputStream())) ; //输入通道
			PrintWriter os = new PrintWriter(socket.getOutputStream()) ;  //输出通道
			BufferedReader sin = new BufferedReader(new InputStreamReader(System.in)) ;  //键盘
			System.out.println("Client" + is.readLine()) ;
			String line = sin.readLine();
			while(!line.equalsIgnoreCase("exit") && !line.equalsIgnoreCase("bye")) {
				os.println(line) ; // 写到客户端
				os.flush() ;
				System.out.println("-----Server:" + line) ;
				System.out.println("Client:"+ is.readLine()) ;
				line = sin.readLine();
			}
			is.close();
			os.close();
			sin.close();
			server.close();
		} catch(Exception e) {
			System.out.println("Error." ) ;
		}
	}
}	

package TestOne;
import java.io.* ;
import java.net.* ;
public class TalkClient {
	public static void main(String args[]) {
		try {
			Socket socket = new Socket("127.0.0.1",4700) ;
			BufferedReader sin = new BufferedReader(new InputStreamReader(System.in)) ;
			PrintWriter os = new PrintWriter(socket.getOutputStream()) ;
			BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream())) ;
			String readline = sin.readLine();
			while(!readline.equalsIgnoreCase("bay") && !readline.equalsIgnoreCase("exit")) ; {
				os.println(readline) ;
				os.flush();
				System.out.println("----Client:" + readline) ;
				readline = sin.readLine();
			}
			os.close();
			is.close();
			socket.close() ;
		} catch (Exception e) {
			System.out.println("Error" + e) ;
			System.exit(-1) ;
		}
	}

}



分享到:
评论

相关推荐

    机器学习之卷积神经网络学习

    "机器学习之卷积神经网络学习" 本文将详细介绍卷积神经网络(Convolutional Neural Networks,CNN)的基本概念和工作原理。卷积神经网络是一种深度学习模型,常用于图像识别、目标检测和图像分割等领域。 一、神经...

    Python程序设计-3期(KC017) KC017020000001 学习指南.doc

    学生可以通过课堂实践报告册和课外实践报告册跟踪学习进度,网络学习模式则增加了网络答疑、网上讨论和模拟自测等环节。 推荐的书籍和参考资源可在课程标准的“教材与参考”部分找到,考核标准参照课程整体设计中的...

    计算机网络技术(第六版)课程标准.doc

    教材 《计算机网络技术》(第六版),边倩,鞠光明,陈晓范,大连理工大学出版社,2 017.8。 配套实训教程:《计算机网络技术》(实训篇)(第五版),王新风,大连理工大学 出版社,2013.9。 2.主要参考书 ...

    windows 网络编程

    学习《Windows网络编程》这本书,开发者可以掌握在网络环境中开发高效、稳定的应用所需的知识,无论是客户端还是服务器端,都能应对自如。通过对这些知识点的理解和实践,开发者将有能力构建出符合业务需求的高质量...

    windows网络编程技术

    通过学习这个教程,读者将能够运用Windows网络编程技术构建高效、安全的网络应用,无论是开发服务器端软件还是客户端工具,都能游刃有余。同时,这些技能也可以为学习其他平台的网络编程打下坚实的基础。

    参考资料-《中国移动通信电源系统工程设计规范》(QB-J-017-2013)V1-0-0-讲义版.zip

    《中国移动通信电源系统工程设计规范》(QB-J-017-2013)是一部重要的行业标准,它为移动通信电源系统的规划、设计、施工、验收和维护提供了全面的指导。这份讲义版的资料深入浅出地阐述了该规范的各项要点,是从事...

    ONT组播配置工具218版-v1.2-V300R017C00SPC218

    此工具的218版-v1.2-V300R017C00SPC218是特定版本,可能包含了一些更新和优化,旨在提高ONT设备在处理组播流量时的效率和稳定性。 组播技术是IP网络中一种高效的数据传输方式,主要用于广播、多用户视频会议、在线...

    slac017h.zip

    "slac017h.zip"这个压缩包文件包含了针对MSP430系列单片机的实用程序,是初学者学习和实践的理想资源。 一、MSP430概述 MSP430系列单片机以其高性能、低功耗和丰富的外设集而闻名。其架构设计兼顾了计算能力和能源...

    深度学习乐园项目案例分享:A017-resnet模型实现瓜果蔬菜图像识别分类苹果香蕉梨西红柿大豆菠菜玉米黄瓜葡萄橙子菠萝石榴西瓜萝卜共4个G数据

    项目使用了经典的卷积神经网络ResNet18,它在图像识别领域表现出色,尤其适合处理果蔬这种复杂且多样化的视觉数据。ResNet18凭借其深度残差结构,能够在保留模型性能的前提下有效减少梯度消失问题,使其在实际应用中...

    OCJP认证-3期(PX017) 电子教材 Oracle Java程序员标准教程.pdf

    处理机制也使得程序在遇到错误时能够优雅地处理,提供了安全的网络通信机制,避免了内存泄露和恶意代码的威胁。这些特性使Java成为开发安全应用程序的理想选择。 【Java入门】 Java是一种由SUN Microsystems公司...

    浅析计算机网络技术在电子信息工程中的应用 (4).pdf

    随着网络技术的快速发展,教育领域正逐渐改变传统的教学方式,尝试利用网络资源来提升教学质量和学生的学习体验。 首先,传统的初中道德与法治教育模式存在明显弊端,过于侧重应试教育,忽视了培养学生的主动学习...

    Flash8.0视频教程-017.矩形工具绘制.rar

    教程中包含的"fl017.swf"文件很可能是该节目的演示动画,让学习者可以直观地看到操作过程。"下载说明.txt"可能提供了教程的下载及播放指南,而"A5下载- 更全的站长资源平台.url"则可能是一个链接,指向更多相关的...

    计算机网络 TCP-IP协议

    020.PDF可能讨论了TCP连接的建立与释放过程,024.PDF可能涉及网络层的IP地址和路由选择,028.PDF可能讲解了传输层的拥塞控制策略,023.PDF可能介绍了UDP的应用场景,016.PDF和017.PDF可能详细阐述了数据链路层的帧...

    017_Delphi全掌握[万子博客]

    通过万子博客的017_Delphi全掌握,读者不仅可以学习到Delphi的基本用法,还能深入理解高级特性和最佳实践,从而成为一个熟练的Delphi开发者。这个资源对初学者和有经验的开发者都有很高的参考价值,无论你是想入门...

    基于深度级联神经网络的自动驾驶运动规划模型.pdf

    级联神经网络模型在模拟驾驶环境的数据上进行了训练和测试,结果表明在乡村路、高速路、隧道和山路等多种道路环境下,模型的均方根误差(RMSE)均保持在较低水平,不超过0.017。不仅如此,相比于未使用级联网络的...

    017_androidUI组件之 Basic View- ImageView

    "017_androidUI组件之 Basic View- ImageView"这个视频教程将详细阐述ImageView的使用方法及其重要特性。 ImageView主要用于显示一张图片资源,它可以是从XML布局文件、代码动态设置,或者是通过网络加载。在...

    MySQL网络数据库指南

    综上所述,《MySQL网络数据库指南》全面覆盖了MySQL的网络配置、数据库设计、SQL操作、事务处理、索引优化、备份恢复、安全性和性能调优等多个方面,是学习和掌握MySQL的宝贵资源。通过深入学习这些内容,读者将能够...

    Python程序设计-3期(KC017) E81.docx

    Python程序设计中,网络通信是重要的组成部分,尤其在KC017这期的学习中,主要关注的是使用Python进行网络通信程序的开发。网络通信通常涉及服务器程序和客户端程序的交互,其中TCP协议的Socket套接字是核心工具。 ...

    专题资料(2021-2022年)QJ017员工培训申请表.doc

    - **IT行业培训内容**可能包括最新软件工具的使用、编程语言的学习、网络安全知识、项目管理技巧、数据分析方法等。 - 针对不同部门,内容应有所不同。例如,技术部门可能关注前沿技术如云计算、人工智能;销售...

Global site tag (gtag.js) - Google Analytics