`
chenhua_1984
  • 浏览: 1252231 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

socket学习笔记四:简单的demo

阅读更多
package test;

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

public class ServerCode {

	public static int portNo=5555;
	
	public static void main(String[] args) {
		
		Socket socket=null;
		ServerSocket serverSocket=null;
		try {
			serverSocket=new ServerSocket(portNo);
			socket=serverSocket.accept();
			System.out.println("Accept the Client:"+socket.toString());
			
			BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
			PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
			
//			PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
			while(true){
				String str=in.readLine();
				if("byby".equals(str)){
					break;
				}
				System.out.println("In Server reveived the info :"+str);
				out.println(str);
			}
			
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			try {
				socket.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			
		}
		
	}

}
 
package test;

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

public class ClientCode {

	static String clientName="Mike";
	public static int portNo=5555;
	
	public static void main(String[] args) {
		Socket socket=null;
		try {
			InetAddress addr=InetAddress.getByName("localhost");
			try {
				socket=new Socket(addr,5555);
				
				PrintWriter pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
//				PrintWriter pw=new PrintWriter(socket.getOutputStream(),true);
				pw.println("Hello Server,I am "+clientName);
				
				BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
				String strLine=in.readLine();
				System.out.println(strLine);
				
				pw.println("byby");
			} catch (IOException e) {
				e.printStackTrace();
			}
			
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				socket.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}

}

  这两行代码主要是性能上有差别。

PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
			
PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
分享到:
评论

相关推荐

    Socket基础知识笔记

    Socket基础知识是计算机网络编程中的重要概念,主要用于实现进程间的通信,...通过阅读提供的“SOCKET基础知识笔记.docx”文档,你将更深入地理解Socket的工作原理、使用方法和实际应用,进一步提升你的网络编程能力。

    JAVA 自己的学习笔记总结

    ### JAVA学习笔记:Socket通信详解 #### 一、Socket通信概念与原理 Socket通信是Java网络编程中的核心概念,它提供了在不同计算机之间进行数据交换的能力。Socket可以被视为两个程序间进行通信的端点,一个Socket...

    study:学习笔记和代码DEMO

    在“study:学习笔记和代码DEMO”这个压缩包中,我们可以看到作者分享了他们的学习过程,主要包括两大部分:代码(code)和笔记(note)。这些资料特别针对Java编程语言,因此,我们可以深入探讨Java相关的知识体系。...

    java-demo:java学习笔记

    本Java学习笔记将深入探讨Java的核心概念、语法结构以及在实际开发中的应用。 1. **基础语法** - **变量与数据类型**:Java有八种基本数据类型,包括整型、浮点型、字符型和布尔型。此外,还有引用数据类型,如类...

    demo-for-learn:学习笔记之不改版

    【标题】"demo-for-learn:学习笔记之不改版" 涉及的主要知识点是Java编程语言的学习和实践,这个项目可能是一个个人或者团队为了记录和分享Java学习过程而创建的。在Java世界里,"不改版"可能意味着这个项目致力于...

    Android Java Socket框架 Mina2.0

    **四、《Mina2.0学习笔记》** 根目录下的《Mina2.0学习笔记》应该包含了详细的教程和示例,涵盖了Mina的基本概念、配置、过滤器使用、协议处理等方面,是学习和理解Mina框架的重要参考资料。 总之,Android Java ...

    java教程java笔记很好的帮助学习Java

    7.1 Socket编程:通过TCP/IP协议进行网络通信,理解ServerSocket和Socket类的用法。 7.2 HTTP客户端:构建简单的HTTP请求,发送GET或POST请求到服务器。 八、Web开发基础 8.1 Servlet:理解Servlet在Web应用中的...

    java_study:记录java的一些学习笔记.mysql spring mybatis演示---持续更新

    【Java学习笔记】 Java是一种广泛使用的面向对象的编程语言,具有平台无关性、安全性、健壮性和可移植性等特性。本笔记主要涵盖了Java的基础知识和应用,旨在帮助初学者和有经验的开发者巩固理解。 1. **Java基础*...

    Android蓝牙,配对,搜索,连接,通信,断开的Demo

    这个Demo项目是学习和理解Android蓝牙功能的好起点,开发者可以在此基础上进行功能扩展,如支持BLE设备、处理多设备连接,或者优化通信性能等。通过深入研究源代码,可以更好地掌握Android Bluetooth API的使用方法...

    android 蓝牙SPP传输demo - 副本 - 副本.rar

    在Android平台上,蓝牙串行端口协议(Serial Port ...总的来说,这个"android 蓝牙SPP传输demo"为开发者提供了一个实践SPP通信的起点,通过学习和应用这个示例,你可以掌握如何在Android应用中实现可靠的蓝牙串口通信。

    node.js + socket.io 实现点对点随机匹配聊天

    真心佩服那些可以经常发布笔记的人,其实我也想经常发来的,奈何技术不够加上懒,要向大神们多多学习了,前段时间有用bomb平台自带的socket写一个聊天室,其实基本就是改了改它的demo,这次想实现一个随机私聊,所以...

    Java学习:初学者

    本资源针对Java初学者,提供了丰富的学习材料,包括练手Demo和配套笔记,帮助你逐步掌握Java编程基础。 1. **Java基础知识**: - **变量与数据类型**:Java中的基本数据类型(如int、double、boolean等)和引用...

    script.rar

    最后,"shell脚本练习_刘艳辉.txt"很可能是一份关于shell脚本的文本教程或笔记。文本格式通常简洁明了,易于阅读和复制代码。可能包含了一些实用的脚本示例,比如自动备份、日志分析或者系统监控等实际应用场景。 ...

Global site tag (gtag.js) - Google Analytics