`

Java套接字基础编程

阅读更多

回顾了一下socket基本编程的内容,记录一下:

Server.java

//package com.liany.demo.socket;

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

public class Server {
	
	private ServerSocket ss;
	private Socket socket;
	private BufferedReader in;
	private PrintWriter out;
	
	public Server(){
		try{
			//监听端口10000
			ss = new ServerSocket(10000);
			System.out.println("Server started, listening to port 10000 ...");
			
			while(true){
				//获取一个套接字
				socket = ss.accept();
				//客户端IP
				String remoteIp = socket.getInetAddress().getHostAddress();
				//端口
				String remotePort = ":" + socket.getLocalPort();
				System.out.println("A client come in! " + remoteIp + remotePort);
				
				//获取套接字内容
				in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
				String line = in.readLine();  
				System.out.println("Client sent: " + line);
				
				//向客户端发送内容
				out = new PrintWriter(socket.getOutputStream(), true);
				out.println("Hello, your message received!");
				
				//关闭流和套接字连接
				out.close();
				in.close();
				socket.close();
			}
		}catch (IOException e) {
			System.out.println("Connection failed!");
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new Server();
	}

}

 

Client.java

//package com.liany.demo.socket;

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

public class Client {

	private Socket socket;
	private BufferedReader in;
	private PrintWriter out;
	
	
	public Client(){
		try{
			//对服务器IP和端口发送套接字
			socket = new Socket("127.0.0.1", 10000);
			
			//从控制台输入一行文本
			System.out.println("Please enter some Character:");
			BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
			String line = br.readLine();
			
			//写到套接字
			out = new PrintWriter(socket.getOutputStream(), true);
			out.println(line);
			
			//取得服务器确认文本
			in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			line = in.readLine();
			System.out.println("Message from server: " + line);

			//关闭流和套接字连接
			br.close();
			out.close();
			in.close();
			socket.close();
		}catch (IOException e) {
			// TODO: handle exception
		}
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new Client();
	}

}
 


  • 大小: 55.3 KB
分享到:
评论

相关推荐

    Java Socket 套接字编程经典入门

    Socket即套接字 java.net包的客户端Socket,服务端ServerSocket; 单线程套接字客户端和服务端的处理; 服务端多线程处理客户端套接字; 带有线程池处理客户端套接字; 不会Socket,有Java基础就能完全理解Socket...

    Java套接字实现网络编程之基础篇.doc

    Java套接字实现网络编程之基础篇.doc

    利用Java套接字实现网络编程之基础篇.doc

    利用Java套接字实现网络编程之基础篇

    JAVA Socket 经典教程

    JAVA Socket教程 Java网络编程之传输控制协议 Socket套接字—Java套接字编程

    Java网络编程学习资料

    由四个CHM组成: Socket套接字—Java套接字编程 基础知识—Java的网络功能与编程 网络协议—Java网络编程之传输控制协议 相关API—Java Transaction API概述

    Java网络编程学习资料,内容很全

    Socket套接字—Java套接字编程 基础知识—Java的网络功能与编程 网络协议—Java网络编程之传输控制协议 相关API—Java Transaction API概述

    Java编程复习代码

    大四学期复习Java基础所产生的代码笔记,着重回顾了字符串、IO、线程以及socket套接字编程,在每一分代码中都附带了自己编程时的一些认识、笔记。适合Java基础不够踏实的童鞋。

    采用Java语言进行网络编程

    java网络编程的PPT文件,包含网络基础、IO、线程、套接字、UDP、TCP、Java安全等编程学习。

    sockets-chat:使用套接字与GUI进行简单的客户端-服务器Java聊天

    使用套接字用Java和Swing编程的简单聊天。 有一个客户端和一个服务器,它们可以使用用户名在它们之间发送消息。 服务器定义了IP和端口,客户端需要指定IP和端口才能与所需的服务器对话。 连接后,他们将能够在它们...

    java网络编程

    java网络编程Socket套接字—Java套接字编程(上1).chm+基础知识—Java的网络功能与编程(1).chm+相关API—Java Transaction API概述(1).chm+网络协议—Java网络编程之传输控制协议(二1).chm

    Java语言网络编程教学大纲

    本课程主要介绍Java程序设计的基础知识,讲解Java程序设计的一般知识,讲解Java网络编程,包括Applet、网络通信技术、Java安全技术、JavaBean组件、套接字编程、Servlet和JSP技术等。 本课程的目的是通过学习,使...

    TCP/IP java 编程

    TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础。定义了电子设备连入因特网的规范。而Socket通信就是基于TCP/IP协议的一直通信机制。...关键字:JAVA SOCKET,TCP/IP,套接字,网络编程

    Java网络高级编程

    第10章介绍Java安全体系结构、密钥、消息摘要、数字签名、访问控制、安全套接口SSL、主体身份认证JAAS和公共密钥构架PKI技术。第11章简明地介绍移动代理编程技术。 本书可作为高校计算机应用、网络信息、电子商务...

    实验5 网络编程.doc

    本专栏主要为Java程序设计(基础)实验报告和Java程序设计(进阶)实验报告,基础篇有JAVA环境搭建、Java语言基础、方法和数组、面向对象基础、Java常用类、继承与接口、成员访问控制与异常、JavaFX程序设计、Java...

    java编程基础,应用与实例

    21.1.2 端口与套接字 390 21.2 TCP程序设计基础 391 21.2.1 InetAddress类 392 21.2.2 ServerSocket类 393 21.2.3 Socket类 394 21.3 单向通信 396 21.3.1 接收字符串的服务器 397 21.3.2 发送字符串...

    java源码包---java 源码 大量 实例

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java_socket(IBM)

    1.3 Java socket - 套接字基础 . . . . . 6 1.4 Java socket - 一个秘密的套接字 . . . . . 11 1.5 Java socket - 一个简单示例 . . . . . . . . . . 16 1.6 Java socket - 一个多线程示例 . . .. . . . 29 1.7 Java...

Global site tag (gtag.js) - Google Analytics