当前位置:首页 > 开发 > 编程语言 > 网络编程 > 正文

Socket编程的HelloWorld实例

发表于: 2014-11-07   作者:alleni123   来源:转载   浏览:
摘要: public class Client { public static void main(String[] args) { Client c=new Client(); c.receiveMessage(); } public void receiveMessage(){ Socket s=null; BufferedRea
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,则和服务器之间断开连接。

Socket编程的HelloWorld实例

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1. 无废话,先上图 2. 协议文档 1 协议概述 协议说明 通过本协议可以实现Client与Server之间的消息
一、上代码 1.1 客户端程序Myclient package com.yuan.testcs; import java.awt.datatransfer.Strin
一开始对socket不太理解,做起东西很模糊,后来做过定位请求的项目,对socket的理解更清楚了。 贴一
C#是微软随着VS.net新推出的一门语言。它作为一门新兴的语言,有着C++的强健,又有着VB等的RAD特性
1 需求描述: (1)Linux下编写。 (2)创建一个服务器、若干个客户端。 (3)用户可以通过客户端输
1 需求描述: (1)Linux下编写。 (2)创建一个服务器、若干个客户端。 (3)用户可以通过客户端输
[转]http://www.cnblogs.com/tornadomeet/archive/2012/04/11/2442140.html 使用Linux Socket做了小
Socket本质上就是Java封装了传输层上的TCP协议,所以要想知道它的实现原理,建议去看java的api帮助
一开始对socket不太理解,做起东西很模糊,后来做过定位请求的项目,对socket的理解更清楚了。 贴一
1 需求描述: (1)Linux下编写。 (2)创建一个服务器、若干个客户端。 (3)用户可以通过客户端输
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号