`

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
分享到:
评论

相关推荐

    Socket套接字—Java套接字编程

    总的来说,Java套接字编程是构建网络应用程序的基础,理解并熟练掌握Socket和ServerSocket的使用,以及相关的数据传输和异常处理机制,是每个Java程序员必备的技能。在实际开发中,根据需求选择合适的设计模式和优化...

    Java 套接字编程Java 套接字编程

    ### Java套接字编程详解 #### 一、引言 随着互联网技术的不断发展与普及,网络编程成为现代软件开发中不可或缺的一部分。Java作为一种广泛应用的编程语言,提供了丰富的API支持网络编程,尤其是对于套接字(Socket)...

    Java套接字网络编程详解.pdf

    套接字(Socket)是Java套接字网络编程的基础概念, Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket中,使这段信息能传送到其他程序...

    基于Java的Socket套接字编程 源代码

    文件名“Socket套接字—Java套接字编程上1”可能暗示了这是一个系列教程的第一部分,涵盖了基础知识和简单的客户端-服务器交互。实际源码可能包括客户端如何发起连接、发送数据,以及服务器如何监听、接收数据和响应...

    socket 套接字 Java 套接字 编程

    Java套接字编程是网络通信的核心技术之一,主要...总的来说,Java套接字编程是构建网络应用的基础,理解其工作原理和使用方法对于开发分布式系统至关重要。通过不断实践和优化,我们可以构建高效、稳定的网络通信系统。

    java套接字编程笔记

    Java套接字编程是网络通信的核心技术之一,它允许两个应用程序通过网络进行数据交换。在Java中,套接字(Socket)是实现客户端-服务器模型通信的基础,它提供了低级别的、面向连接的、可靠的字节流服务。这篇笔记将...

    Java套接字编程

    ### Java套接字编程详解 #### 一、Java网络编程概览 Java作为一种全面支持网络功能的编程语言,其强大的网络编程能力主要归功于它的一系列网络API,特别是位于`java.net`和`javax.net`包中的API。这些API为开发者...

    java的套接字编程 简单的QQ

    1. **Java套接字基础** Java套接字是Java网络编程的基础,分为ServerSocket和Socket两种类型。ServerSocket是服务器端使用的,用于监听特定端口,等待客户端连接;Socket是客户端使用的,用于与服务器建立连接并...

    java套接字聊天

    总结,Java套接字聊天涉及到网络编程基础、多线程、数据传输与序列化、异常处理以及可能的安全措施。理解并熟练掌握这些知识点是开发类似应用的关键。通过`chat_socket_client`和`chat_socket_server`代码的学习和...

    一个经典的java 套接字传输范例

    Java套接字(Socket)是网络编程中的...总结来说,Java套接字是网络编程的基础工具,通过它,我们可以构建可靠的、高性能的网络应用。理解并熟练掌握套接字的使用,对于开发任何涉及网络通信的Java项目都是至关重要的。

    Socket套接字—Java套接字编程(上1).rar_socket_套接字_套接字 Java

    "Socket套接字—Java套接字编程(上1)"这个资料包可能包含了关于Java套接字的基础概念、创建和使用过程,以及相关实例。下面我们将深入探讨Java中的套接字编程。 首先,Java中的Socket类是Java.io包的一部分,它提供...

    Java Socket 套接字编程经典入门

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

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

    Java套接字是Java语言在网络编程中的核心组件,它提供了基于TCP/IP协议的通信机制。在Java中,网络编程的API主要分布在`java.net...理解并掌握Java套接字的使用是网络编程的基础,对于开发涉及网络的Java应用至关重要。

    java 套接字

    Java套接字是Java网络编程的核心组件,它提供了一种在不同网络节点间进行通信的机制。在Java中,套接字(Socket)是基于TCP/IP协议实现的,确保了数据在网络间的可靠传输。本篇将深入探讨Java套接字的相关知识点。 ...

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

    Java套接字是Java语言中实现网络编程的基础,主要用于创建两个网络节点之间的通信链接。Java提供了丰富的API,主要集中在`java.net`和`javax.net`包中,使得开发者能够轻松地构建网络应用。 **什么是套接字(Socket...

    聊天室代码 套接字 java

    在Java编程中,创建一个简单的聊天室涉及到网络通信的核心概念——套接字(Socket)。套接字是网络编程的基本组成部分,它提供了进程间的通信能力,允许两台计算机通过网络交换数据。在这个场景下,我们讨论的是基于...

    简单的套接字编程,讲的很易懂

    ### 套接字编程基础知识点详解 #### 1.1 什么是套接字 套接字(Socket),作为同一台主机内部应用层与传输层之间的接口,扮演着应用程序和网络之间的桥梁角色,即应用程序接口(API)。它允许应用程序通过网络进行...

    Java非阻塞套接字概述

    总结来说,Java非阻塞套接字是Java NIO的重要组成部分,它提供了一种更高效、灵活的网络编程模型,特别适合处理高并发连接。通过非阻塞套接字,开发者可以编写出无须手动管理线程的服务器端程序,同时利用Selector...

    Java Socket套接字

    Java Socket套接字是Java网络编程中的核心组件,它提供了应用程序之间进行低级通信的机制。...通过阅读提供的"Java套接字socket101"文档,你可以更深入地学习Socket编程的细节,从而更好地掌握这个强大的通信机制。

Global site tag (gtag.js) - Google Analytics