`
java从入门到放弃
  • 浏览: 44785 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java从0开始学习第十四课-Socket真好玩!!!

阅读更多

    我们已经写过一个非常牛逼的爬虫了,我们还差Sockect,ServerSocket,今天就来一个非常吊的通信程序,做完这个程序之后,我们就能大声的对世界宣布:老子很牛!!!

   废话少说,这个程序大家一定会喜欢的,因为很好玩!先来一段服务器代码。大家复制粘贴到一个txt文件中,然后保存为:TestServer.java 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;

public class TestServer {
  public static void main(String[] args) {
	try{
		ServerSocket server=new ServerSocket(5678);
		Socket socket=server.accept();  
		InetAddress ipClient=socket.getInetAddress();
		String ipCliset=ipClient.getHostAddress();
		System.out.println(ipCliset+" 连上了我");
		InputStream in=socket.getInputStream();
		InputStreamReader iReader=new InputStreamReader(in);
		BufferedReader readerIn=new BufferedReader(iReader);
		BufferedReader readerOut=new BufferedReader(new InputStreamReader(System.in)) ;
		String s;
		
		PrintWriter pWriter=new PrintWriter(socket.getOutputStream());
		while (!(s=readerIn.readLine()).equals("不玩了")){
			System.out.println("客户端说:"+s);
			pWriter.println(readerOut.readLine()); //给客户端发送消息
			pWriter.flush();                       //刷新一下
		}
		
		System.out.println(ipCliset+" 断开连接了");
		in.close();//把资源都关闭了
		pWriter.close();
		socket.close();
		server.close();
		
	}catch (Exception e) {
		System.out.println("error "+e);
	}
}
}

 再来一个客户端,大家也把他复制粘贴了,然后保存为TestClient.java 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

import com.sun.imageio.plugins.common.InputStreamAdapter;


public class TestClient {

	public static void main(String[] args) {
		try {
			Socket socket=new Socket("127.0.0.1",5678);
			PrintWriter out=new PrintWriter(socket.getOutputStream());
			BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
			//获取流读入器并且转换成缓存读入器
			BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
			String s;
			do {
				s=sin.readLine();//一行一行得读
				out.println(s);
				out.flush();
				if(!s.equals("不玩了")){
					System.out.println("服务器对我说:"+br.readLine());
				}else{
					System.out.println(" 睡觉去了···");
				}
			} while (!s.equals("不玩了"));
			sin.close();
			br.close();
			out.close();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

好了,跑这个程序比较特别,大家需要打开2个dos的窗口,先启动咱们的服务器,再启动客户端,然后就可以为所欲为啦。



 

  • 大小: 104.1 KB
0
0
分享到:
评论

相关推荐

    java版本调用HP-Socket服务端代码

    java版本调用HP-Socket服务端代码,包含jna包及5.0.2版本的HP-Socket的dll文件,采用的是非常新的HP-Socket版本,demo是整套java工程,导入eclipse修改HpSocket.java文件中的服务器的IP和端口就可以测试,里面还包含...

    基于java的开发源码-smart-socket 开源的Java AIO框架.zip

    基于java的开发源码-smart-socket 开源的Java AIO框架.zip 基于java的开发源码-smart-socket 开源的Java AIO框架.zip 基于java的开发源码-smart-socket 开源的Java AIO框架.zip 基于java的开发源码-smart-socket ...

    java-socketcan

    Java SocketCAN是一个用于在Linux环境下通过Java编程语言与CAN(Controller Area Network)总线通信的库。这个库允许开发者在Java应用程序中实现低级别的CAN数据帧收发,从而无需深入理解底层操作系统或C/C++编程。...

    经典的java题目----奉献了!!!!!!!!!!!

    这个压缩包文件“java题目.doc”似乎包含了与Java编程相关的经典问题,这对于学习和提升Java技能非常有价值。以下是一些可能涵盖的知识点,以及它们在实际编程中的重要性: 1. **基础语法**:Java的基础语法包括...

    mirrors-hp-socket-master.zip_java udp_python udp_socket_socket 高

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程...

    HP-Socket下载

    HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件、客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口...

    基于java的开发源码-Socket 聊天通信演示代码.zip

    基于java的开发源码-Socket 聊天通信演示代码.zip 基于java的开发源码-Socket 聊天通信演示代码.zip 基于java的开发源码-Socket 聊天通信演示代码.zip 基于java的开发源码-Socket 聊天通信演示代码.zip 基于java的...

    java-socket连接nodejs-socket

    在这个特定的案例中,我们将讨论如何使用Java作为客户端,通过Socket连接到使用Node.js构建的服务器进行通信。Socket编程是一种基础的网络通信机制,允许两个应用程序通过网络交换数据。 首先,让我们深入了解一下...

    Java多线程-Socket编程

    Java 多线程-Socket 编程 Java 多线程-Socket 编程是指在 Java 语言中使用多线程技术来实现网络编程,特别是使用 Socket 编程来实现客户端和服务器端的通信。在 Java 中,多线程可以使用 Thread 类和 Runnable 接口...

    smart-socket,一种高性能的Java AIO框架.zip

    《深入解析Smart-Socket:Java AIO框架的高性能实践》 Smart-Socket,作为一个高性能的Java AIO(Asynchronous I/O)框架,是Java开发者在处理高并发、低延迟网络通信场景下的利器。AIO,又称非阻塞I/O,相较于传统...

    HP-Socket开发TCP Client

    HP-Socket是一款强大的网络通信库,特别适用于TCP/IP协议栈的客户端和服务器程序开发。它提供了丰富的API接口,使得开发者可以方便地构建高效、稳定、跨平台的网络应用。在这个"HP-Socket开发TCP Client"的例子中,...

    HP-Socket-master.zip

    为了让使用者能方便快速地学习和使用HP-Socket,迅速掌握框架的设计思想和使用方法,特此精心制作了大量Demo示例(如:PUSH模型示例、PULL模型示例、PACK模型示例、性能测试示例以及其它编程语言示例)。HP-Socket...

    HP-Socket-V5.4

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等...

    HP-Socket V3.2.1

    HP-Socket 是一套通用的高性能 TCP/UDP Socket 框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口...

    HP Sokcet ForJava

    HP Sokcet JAVA调用源码,包含jna包及5.0.2版本的HP-Socket的dll文件,采用的是非常新的HP-Socket版本,demo是整套java工程,导入eclipse修改HpSocket.java文件中的服务器的IP和端口就可以测试,里面还包含了客户端...

    HP-Socket网络通信框架开发指南.zip

    为了让使用者能方便快速地学习和使用 HP-Socket,迅速掌握框架的设计思 想和使用方法,特此精心制作了大量 Demo 示例(如:PUSH 模型示例、PULL 模型示例、PACK 模型示例、性能测试示例以及其它编程语言示例)。

    HP-Socket-v3.2.1-rc3源码

    HP-Socket 是一套通用的高性能 TCP/UDP Socket 组件,包含服务端组件、客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++、C#、Delphi、E、Java 等编程语言开发接口。HP-Socket ...

    HP-Socket网络通信框架开发指南

    HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、 ...信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。...为了让使用者能方便快速地学习和使用 HP-Socket

    C# Socket入门学习! Socket入门学习! Socket入门学习!

    本文将深入探讨C# Socket入门学习的关键知识点,帮助初学者理解并掌握Socket编程的基本原理和实践。 1. **什么是Socket?** Socket是网络通信中的一个接口,它允许两个程序通过网络交换数据。在C#中,Socket类是...

    基于java的开发源码-Java Socket通信实现.zip

    基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java ...

Global site tag (gtag.js) - Google Analytics