`
wl853
  • 浏览: 26240 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

简单Socket代码,理解Socket

    博客分类:
  • J2SE
阅读更多
服务器端Server[color=red][/color][size=large][/size]
package com.Socket;

import java.io.DataInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpServer {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ServerSocket svrsoc = null;
		Socket soc = null;
		DataInputStream in = null;
		PrintStream out = null;
		InetAddress clientIP = null;
		String str = null;
		
		try {
			svrsoc = new ServerSocket(8000);
			System.out.println("Server start.....");
			soc = svrsoc.accept();
			
                        //用于接收客户端发来的数据的输入流
			in = new DataInputStream(soc.getInputStream());
                        //用于向客户端发送数据的输出流
			out = new PrintStream(soc.getOutputStream());
			clientIP = soc.getInetAddress();
			System.out.println("Client IPAddress:"+clientIP);
			out.println("Welcome......");
			str = in.readLine();
			while(!str.equals("quit")){
				System.out.println("Client said:"+str);
				str = in.readLine();
			}
			System.out.println("Client want to leave....");
		} catch (IOException e) {
			e.printStackTrace();
		} finally{
			try{
			in.close();
			out.close();
			soc.close();
			svrsoc.close();
			System.exit(0);
			}catch (IOException e) {
				e.printStackTrace();
			}
		} 
	}

}

客户端端Client[color=red][/color][size=large][/size]
package com.Socket;

import java.io.DataInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class TcpClient {
	public static void main(String[] args) {
		Socket soc = null;
		DataInputStream in = null;
		PrintStream out = null;
		DataInputStream sysin = null;
		String strin = null;
		String strout = null;

		try {
			soc = new Socket("localhost", 8000);
			System.out.println("Connecting to the Server....");
                        //获取输入流,用于接收服务器端发送来的数据
			in = new DataInputStream(soc.getInputStream());
                        //获取输出流,用于客户端向服务器端发送数据
			out = new PrintStream(soc.getOutputStream());
			strin = in.readLine();
			System.out.println("Server said:" + strin);
                        //用户输入流
			sysin = new DataInputStream(System.in);
			strout = sysin.readLine();
			while (!strout.equals("quit")) {
				out.println(strout);
				strout = sysin.readLine();
			}
			out.println(strout);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (in != null) {
					in.close();
				} else if (out != null) {
					out.close();
				} else if (sysin != null) {
					sysin.close();
				} else if (soc != null) {
					soc.close();
				}

				System.exit(0);
			} catch (IOException e) {
			}
		}
	}
}

实现客户端Client输入字符串,服务器Server端显示输出
分享到:
评论

相关推荐

    windows下socket通信代码

    首先,我们要理解Socket的基本概念。Socket可以看作是网络上的进程间通信的端点,它定义了通信双方如何建立连接、交换数据以及断开连接的规则。在Windows中,我们通常使用Berkeley Sockets API,它源于UNIX系统,但...

    最简单的TCP模式SOCKET代码

    本文将深入探讨“最简单的TCP模式SOCKET代码”,帮助你理解如何使用这些概念来创建一个基本的服务器和客户端交互系统。 TCP是一种面向连接的、可靠的传输协议,它确保了数据在互联网上的有序、无损传输。而SOCKET是...

    socket_socket_简单的socket代码_

    在本示例中,我们将探讨一个简单的Socket代码,这个代码可能包含了客户端和服务器端的实现,以便于理解Socket的基本工作原理和使用方法。 首先,我们要了解Socket的定义。Socket在操作系统层面上是一个端点,用于两...

    socket错误代码对应表

    通过上述对Socket错误代码的详细解读,我们不仅可以更好地理解这些错误的原因,还能够采取有效的措施来解决问题。在实际开发过程中,遇到这些错误时,应首先根据错误代码定位问题所在,然后参考上述解决方法进行调试...

    java socket 客户端代码

    首先,理解Socket的基本概念至关重要。Socket是TCP/IP协议族的一部分,允许两台机器(通常是一个服务器和一个客户端)通过网络进行双向通信。在Java中,`java.net.Socket`类代表了客户端Socket,而`ServerSocket`类...

    socket代码 入门

    通过`server.cpp`和`client.cpp`的学习,你可以理解Socket通信的基本流程,并能构建简单的客户端-服务器应用。这只是Socket编程的基础,更高级的主题包括多线程、异步I/O、SSL/TLS加密等,这些都需要进一步深入学习...

    PB SOCKET 源代码

    通过分析和学习这些源代码,开发者能够快速理解和掌握PB中的Socket编程技巧。 8. **Windows 7兼容性**:PB12.6的Socket源代码能在Windows 7操作系统下正常编译和运行,这意味着它们考虑到了不同操作系统环境下的...

    VC Socket代码

    本篇文章将详细讲解"VC Socket代码"的相关知识点,旨在帮助初学者理解并掌握基础的Socket编程技巧,实现简单的文本传输。 1. **Socket基本概念** Socket是网络通信的一种接口,它允许程序通过网络发送和接收数据。...

    c++ socket 源代码

    学习和理解这份源代码可以帮助开发者更好地掌握C++中的Socket编程,从而能创建自己的网络应用程序。在实际项目中,源代码可能会根据具体需求进行优化,例如增加SSL/TLS加密支持、实现心跳检测、添加并发处理机制等。

    LinuxSocket示例代码

    在IT行业中,Linux Socket是进行网络通信的重要工具,尤其对于系统和网络程序员来说,理解和掌握Linux Socket编程至关重要。本示例代码提供了客户端(client)和服务器端(server)的实现,帮助初学者深入理解如何在...

    socket通信代码 点到点通信

    Socket通信是一种基于网络协议(如TCP/IP)...通过分析和理解这些代码,你可以进一步掌握Socket通信的原理和应用。记住,实际的Socket编程可能会涉及异常处理、多线程或异步I/O等复杂情况,以确保通信的稳定性和效率。

    C++编写的Socket通信程序源代码

    本资源包含了一组C++编写的Socket通信程序源代码,对于学习和理解Socket编程有着宝贵的实践价值。 首先,让我们深入了解一下Socket。Socket是应用程序与网络服务之间的接口,它允许程序员通过编写代码来实现网络...

    C++编写的Socket聊天程序源代码

    本资源包含了一个基于C++实现的Socket聊天程序,包括服务器端和客户端的源代码,可以帮助开发者理解并学习如何构建一个简单的网络聊天应用。 标题中的"C++编写的Socket聊天程序源代码"揭示了主要的学习内容,即使用...

    Socket连接示例代码

    总的来说,"Socket连接示例代码"是学习和理解网络通信基础的重要实践,通过它你可以了解到如何建立、管理和终止网络连接,以及如何在连接上进行数据交换。深入理解和掌握Socket编程,对于任何涉及网络通信的IT专业...

    vb.net中socket示例源代码.rar

    本示例源代码提供了客户端(socket_client)和服务器端(socket_server)的实现,帮助开发者理解如何在VB.NET中使用Socket进行网络通信。 首先,让我们详细探讨一下Socket的基本概念。Socket是网络通信中的一个抽象...

    C#简易Socket通讯工具

    本文将深入探讨C#中的Socket通信,帮助理解其原理、使用方法及其实现简易通信工具的关键步骤。 Socket是网络通信的基石,它提供了一种进程间通信(IPC)的方式,允许两个网络上的应用程序进行数据交换。在C#中,...

    C#socket通信代码

    通过学习和理解这些代码,你可以更好地掌握C#中的Socket通信,包括服务器端的监听和接受客户端连接的逻辑。在实际项目中,你可能还需要处理异步操作、错误处理、多线程等问题,以提高服务的稳定性和性能。 总之,C#...

    socket 客户端和代码

    Socket编程是计算机网络编程中的重要组成部分,特别是在C++中,它为我们提供了与远程服务器进行通信的能力。...通过分析和理解"ClientSocket"源代码,我们可以深入学习如何在C++环境中构建和管理Socket客户端。

    Socket通讯代码示例

    Socket通讯在IT行业中是网络编程的基础,主要用于实现进程间的...通过学习和分析这些代码,你可以更深入地理解以上知识点如何在实际项目中应用。同时,它也是一个很好的实践平台,可以帮助你巩固和提升网络编程的能力。

    socket通信实例客户端代码

    这个项目包含了连接服务器、断开连接以及发送消息等基本功能,对于学习和理解Socket通信机制具有很高的实践价值。 首先,我们要了解Socket的基本概念。Socket,也称为套接字,是网络通信中的一端,可以是服务器端也...

Global site tag (gtag.js) - Google Analytics