`

Socket编程的HelloWorld实例

阅读更多
public class Client
{
	
	
	public static void main(String[] args)
	{	
		Client c=new Client();
	 	c.receiveMessage();
	}
	
	public void receiveMessage(){
		Socket s=null;
		
		BufferedReader sbr=null;
		try
		{
			s=new Socket("127.0.0.1",9999);
			
			OutputStream os=s.getOutputStream();
			PrintWriter out=new PrintWriter(os,true);
			BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
			
		//	IOUtils.write("receive", os);
//			InputStream is=s.getInputStream();
		
			sbr=new BufferedReader(new InputStreamReader(System.in));
			
			
			String message;
			while((message=sbr.readLine())!=null){
				out.println(message);
				String rs=br.readLine();
				System.out.println("receive message is "+rs);
				if(rs.equalsIgnoreCase("disconnect")){
					System.out.println("discon");
					break;
				}
				
			
			}
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}finally{
			if(s!=null)
				try
				{
					s.close();
				}
				catch (IOException e)
				{
					e.printStackTrace();
				}
		}
	}
}




public class Server
{
	
	
	
	public static void main(String[] args)
	{
		Server s=new Server();
		s.startServer(9999);
	}
	
	public void startServer(int port){
		ServerSocket ss = null;
		Socket socket = null;
		try
		{
			ss = new ServerSocket(9999);
			while (true)
			{
				try
				{
				 	System.out.println("waiting...");
					socket = ss.accept();
					InputStream is = socket.getInputStream();
//					String s = IOUtils.toString(is);
//					System.out.println("s= " + s);

					BufferedReader br = new BufferedReader(
							new InputStreamReader(is));
					PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
					String str=null;
					while((str=br.readLine())!=null){
						if(str.equalsIgnoreCase("quit")){
							//关闭
							out.println("disconnect");
							break;
						}
						System.out.println("str="+str);
						out.println("Receive:"+str);
					}
				}catch(IOException e){
					e.printStackTrace();
				}
				finally
				{
					if (socket != null)
					{
						socket.close();
					}
				}
			}
		}
		catch (IOException e)
		{

			e.printStackTrace();
		}
		finally
		{
			if (ss != null)
				try
				{
					ss.close();
				}
				catch (IOException e)
				{

					e.printStackTrace();
				}

		}
	}

}


通过client,可以一直向Server发送信息,并得到返回信息。

输入quit,则和服务器之间断开连接。
分享到:
评论

相关推荐

    C++ Socket Hello World

    本文将深入探讨"C++ Socket Hello World"这个话题,通过学习基础的Socket编程,你可以理解如何在C++环境下构建简单的TCP客户端(TCPClient)和服务器(TCPServer)。 首先,让我们了解什么是Socket。Socket是操作系统...

    TCP链接HelloWorld级程序

    同时,这也有助于理解.NET Framework中的C++ Socket编程模型。 总的来说,TCP链接的"HelloWorld"级程序为初学者提供了一个基础的实践平台,通过这个简单的例子,他们可以学习到TCP协议的工作原理,以及如何在.NET ...

    java socket编程 详细的介绍,实例的教学,网站形式,不过特实用

    在这个详细的介绍中,我们将深入理解Socket编程的基础概念、工作原理以及如何通过实例来应用它。 首先,Socket是网络通信中的一个端点,它允许两个应用程序通过网络进行数据交换。在Java中,`java.net.Socket`和`...

    Java Socket网络编程实例.pdf

    这个实例展示了Java Socket编程的基本流程,包括服务器端的监听、连接、数据交换,以及客户端的连接、发送数据和接收响应。这种模式广泛应用于各种网络应用,如聊天室、文件传输、远程控制等。通过理解这个实例,...

    Linux-Socket-服务器编程实例.pptx

    8. `<sys/socket.h>`:包含了Socket编程的核心函数,如`socket`、`bind`、`listen`、`accept`和`connect`等。 接下来,`main`函数的参数`argc`和`argv`是C语言程序的基本输入,它们分别代表命令行参数的个数和参数...

    使用Python进行socket编程.pdf

    在这个例子中,服务器会返回"HelloWorld!\n"给客户端。 7. Python与其他编程语言 在文档的行间散落着其他编程语言的名称,如Perl、Ruby、Java等,这可能意味着Python可以与这些语言进行交互或者提供了互操作性的...

    C++ UDP HelloWorld

    总的来说,通过"C++ UDP HelloWorld"实例,我们可以学习到如何在C++中使用Winsock库创建基本的UDP客户端和服务器,理解UDP协议的工作原理以及如何在VC++环境中编写网络程序。这为更复杂的网络应用开发打下了基础。在...

    java实用编程实例

    例如,你可能会看到如"HelloWorld"的简单入门示例,用于演示基本的类定义和主方法;"异常处理"目录则可能包含关于如何捕获和处理程序中可能出现的错误的示例;"多线程"目录可能展示了线程的创建、同步和通信方法;而...

    Java高手真经(编程基础卷)光盘全部源码 免积分

    javacorba.zip 25.Corba编程(HelloWorld例、计算器实例) 第6部分(4个程序包) javareflection.zip 26.Java反射机制与动态代理 javageneric.zip 27.Java泛型编程 javaannotation.zip 28.Java注释符编程 ...

    PHP和SOCKET

    在本篇文章中,我们将深入探讨PHP中的Socket编程,并结合具体代码实例来解析其核心概念。 #### 二、Socket编程的基本原理 ##### 1. 基础概念 - **Socket**:在计算机网络中,Socket是一种用于网络通信的端点抽象...

    Java高手真经(编程基础卷)光盘全部源码

    javacorba.zip 25.Corba编程(HelloWorld例、计算器实例) 第6部分(4个程序包) javareflection.zip 26.Java反射机制与动态代理 javageneric.zip 27.Java泛型编程 javaannotation.zip 28.Java注释符编程 ...

    Netty之helloworld示列

    1. **创建Bootstrap**:在服务器端,我们需要创建一个Bootstrap实例,并设置相应的参数,如Socket地址和端口,以及Channel工厂。Bootstrap的bind()方法用于启动监听服务。 2. **定义ChannelPipeline**:...

    Socket通信实例源代码

    Socket通信是计算机网络编程中的重要组成部分,主要用于实现进程间的网络通信。在这个实例中,我们将深入探讨Socket服务器和客户端的通信代码实现,以及在编写此类代码时的一些关键技巧。 首先,让我们从Socket的...

    《Android编程典型实例与项目开发》.(吴亚峰,杜化美,苏亚光)

    1. **Android环境搭建**:首先,书中会介绍如何配置Android开发环境,包括安装Java Development Kit (JDK),设置环境变量,下载并安装Android Studio,以及创建第一个Hello World应用。 2. **Android SDK和API**:...

    JAVA编程100实例

    每个实例都将围绕这些核心概念展开,逐步引导你从简单的“Hello, World!”到复杂的算法实现。通过实际操作,你可以更深入地理解这些概念,并学会如何将它们应用到实际项目中。在实践中,你可能会遇到错误和挑战,但...

    通讯程序socket

    提供的压缩包中包含6-7个具体的示例代码,这些示例可能是从简单的“Hello, World!”客户端-服务器通信,到复杂的文件传输或聊天应用。通过分析这些代码,你可以学习如何设置Socket,建立连接,以及如何进行数据的...

    java编程基础、应用与实例.rar

    - **网络编程**:Java的Socket编程允许创建客户端和服务器应用程序,实现网络通信。 3. **实例分析**: - **Hello, World!**:每个编程语言的学习通常从打印"Hello, World!"开始,了解程序的基本结构。 - **数组...

    Windows API 开发详解——函数、接口、编程实例

    例如,创建一个简单的“Hello, World!”程序,需要涉及窗口类的注册、窗口的创建、消息循环的设置以及消息处理函数的编写。通过这样的实例,开发者可以了解Windows应用程序的基本框架和事件驱动模型。 在Windows ...

    Java网络编程实例

    在本教程中,我们将深入探讨Java如何进行网络编程,主要围绕"访问网络资源实例"和"Applet编程实例"这两个主题展开。 首先,让我们来看看“访问网络资源实例”。在Java中,我们可以使用java.net包提供的类来实现这一...

    Java编程入门.pdf

    - **编译**:运行`javac HelloWorld.java`命令将源代码文件`HelloWorld.java`编译成`HelloWorld.class`字节码文件。 - **运行**:使用`java HelloWorld`命令启动Java虚拟机运行`HelloWorld.class`文件。 #### 三、...

Global site tag (gtag.js) - Google Analytics