`
java从入门到放弃
  • 浏览: 43792 次
  • 性别: 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的开发源码-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 ...

    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 等编程...

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

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

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

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

    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 等...

    java-socket连接nodejs-socket

    用nodejs作为服务器,java作为客户端,使用socket通信的demo.

    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和端口就可以测试,里面还包含了客户端...

    java-socketcan

    java开发can接口,再linux环境下编译的jar,直接添加到lib使用即可。

    HP-Socket开发TCP Client

    HP-Socket开发TCP Client。 简单地TCP Client,示例如何使用HP-Socket。

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

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

    java-socket大文件上传-含客户端和服务端

    java-socket大文件上传-含客户端和服务端 java-socket大文件上传-含客户端和服务端

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

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

    HP-Socket-v3.2.1-rc3源码

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

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

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

    Java多线程-Socket编程

    Java多线程-Socket编程

    java socket 学习资料

    java socket 学习资料java socket 学习资料java socket 学习资料java socket 学习资料java socket 学习资料

    HP-Socket下载

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

    JAVA-socket开发指南

    JAVA-socket开发的详细内容。格式pdf,适合初学者。

Global site tag (gtag.js) - Google Analytics