`

serverSocket与socket的通信示例

    博客分类:
  • java
阅读更多

下图描述了ServerSocket与Socket通信的过程
代码如下:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Scanner;

/**
 * 描述: 网络客户端
 * 版权: Copyright (c) 2012 
 * 版本: 1.0 
 * 创建日期: 2012-7-3 
 * 创建时间: 上午11:24:10
 */
public class Client {
	private String host = "10.200.0.58";
	private int port = 8087;
	
	public Client()
	{
		
	}
	
	public Client(String i_host,int i_port)
	{
		this.host = i_host;
		this.port = i_port;
	}
	
	public void chat()
	{
		try{
			Socket socket = new Socket(host,port);
			try{
				DataInputStream in = new DataInputStream(socket.getInputStream());
				DataOutputStream out = new DataOutputStream(socket.getOutputStream());
				Scanner scanner = new Scanner(System.in);
				while(true){
					String send = scanner.nextLine();
					System.out.println("客户端:"+send);
					out.writeUTF("客户端:"+send);
					String accept = in.readUTF();
					System.out.println("服务器:"+accept);
				}
			}
			finally{
				socket.close();
			}
		}catch(IOException e)
		{
			e.printStackTrace();
		}
		
	}
	public static void main(String[] args) {  
		       new Client().chat();  
		   }  

}



下面是服务端的代码:
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

/**
 * 描述: Socket服务器测试
 * 版权: Copyright (c) 2012 
 * 版本: 1.0 
 * 创建日期: 2012-7-3 
 * 创建时间: 上午10:48:49
 */
public class Server{
	private int port;
	
	public Server(int i_port)
	{
		port = i_port;
	}
	
	public Server()
	{
		this.port = 8089;
	}
	
	/**
	 * 描述:服务流程
	 * 作者:李海伟
	 * 时间:2012-7-3 上午10:50:36
	 */
	public void service()
	{
		try{
			ServerSocket server = new ServerSocket(port);
			System.out.println("服务"+port+"启动");
			Socket socket = server.accept();
			try{
				DataInputStream in = new DataInputStream(socket.getInputStream());
				DataOutputStream out = new DataOutputStream(socket.getOutputStream());
				Scanner scanner = new Scanner(System.in);
				while(true){
					String word = in.readUTF();
					System.out.println(word);
					String send = scanner.nextLine();
					System.out.println("服务器:"+send);
					out.writeUTF("服务器:"+send);
				}
			}finally{
				socket.close();
			}
			
		}catch(IOException e)
		{
			e.printStackTrace();
		}
	}
	public static void main(String []args)
	{
		new Server(8087).service();
	}
}
  • 大小: 81.9 KB
分享到:
评论

相关推荐

    Android中socket通信简单实现

    Android中socket通信简单实现 socket通信需要有一个服务器和客户端,可以把同一个APP作为服务器跟客户端,也可以分开成两个APP。 先上个图: 这里以一个APP作为服务器跟客户端为示例 1、添加网络访问权限 2、写...

    serversocketexe:使用java进行socket通信的例子

    使用没有多线程的 java 进行套接字通信的示例。 编译 javac GreetingServer.java javac GreetingClient.java 跑步 *Server:* java GreetingServer *Client:* java GreetingClient <host> 例子 $ java ...

    Android通过Socket与服务器之间进行通信的示例

    创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口 ServerSocket serverSocket = new ServerSocket(12345); InetAddress address = InetAddress.getLocalHost(); String i

    第一个MFC的WinSocket编程示例

    环境:Windows XP SP 3、 VC++ ...本人觉得MFC使用异步通信类CAsyncSocket实现Java中的ServerSocket类和Socket类的编程效果,是非常牛的!(虽然本人认为它还封装得不够OO--因为它封装得让使用者觉得“很傻很天真”)。

    Android基于TCP和URL协议的网络编程示例【附demo源码下载】

    Android完全支持JDK本身的TCP,UDP网络通信API,也可以使用ServerSocket,Socket来建立基于TCP/IP协议的网络通信,也可以使用DatagramSocket,Datagrampacket来建立基于UDP协议的网络通信。Android也支持JDK提供的URL...

    Java网络编程(第三版)中文版.part11.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)高清中文版.part01.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part06.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part07.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part09.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part01.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part03.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part02.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part04.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part05.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part13.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part10.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part12.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

    Java网络编程(第三版)中文版.part08.rar

    通过GET方法与服务器端程序通信 233 访问受口令保护的网站 237 第八章 Swing中的HTML 245 组件上的HTML 245 JEditorPane 247 解析HTML 256 cookie 274 第九章 客户端Socket 283 socket基础 283 用Telnet...

Global site tag (gtag.js) - Google Analytics