`

java的socket通信的demo

    博客分类:
  • J2SE
阅读更多
package test.socket;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

public class TalkMe {

	public static void main(String[] args) {
		System.out.println("请输入:IP地址:");
		TalkMe talk = new TalkMe();
		talk.listener().start();
		try {
			talk.talker(new BufferedReader(new InputStreamReader(System.in)).readLine()).start();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	private Thread listener(){
		return new Thread() {
			public void run() {
				DataInputStream dataIS = null;
				String clientSay;
				try {
					ServerSocket server = new ServerSocket(9666);
					Socket socket = server.accept();
					while (true) {
						dataIS = new DataInputStream(socket.getInputStream());
						clientSay = dataIS.readLine();
						System.out.println("Other say:" + clientSay);
					}
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		};
	}
	private Thread talker(final String ip){
		return new Thread(){
			public void run() {
				Socket socket = null;
				InputStreamReader stdin=new InputStreamReader(System.in);
				BufferedReader br=new BufferedReader(stdin);
				DataInputStream dataIS = new DataInputStream(System.in);
				OutputStream os;
				PrintStream ps;
				String say = "";
				boolean flag = true;
				while (flag) {
					if (flag)
						System.out.println("connection ....");
					try {
						socket = new Socket(ip, 9666);
						System.out.println("connection ok.");
						flag = true;
						os = socket.getOutputStream();
						ps = new PrintStream(os);
						while (true) {
							say = dataIS.readLine();
							ps.println(say);
						}
					} catch (UnknownHostException e) {
						try {
							sleep(1000);
						} catch (InterruptedException e1) {
							e1.printStackTrace();
						}
					} catch (IOException e) {
						
					}
				}
			}
		};
	}

}

分享到:
评论
1 楼 happycredit 2009-03-07  
简单的介绍下程序流程吧

相关推荐

    Nio非阻塞socket通信demo

    在这个“Nio非阻塞socket通信demo”中,我们可以深入理解NIO在Socket通信中的应用。 1. **Java NIO基础** - **通道(Channels)**:NIO的核心概念之一,通道是数据读写的目标或来源,如文件通道、套接字通道等。...

    android中java和C的socket通信demo

    以上就是关于“Android中Java和C的Socket通信Demo”的详细说明,包括Java Socket和C Socket的基本使用,JNI接口的建立,文件描述符的传递以及Ashmem的使用。理解并掌握这些知识点,能够帮助开发者在Android平台上...

    java socket传输demo

    Socket通信的基本概念是基于TCP/IP协议,确保数据的可靠传输。TCP协议提供了一种面向连接的服务,通过三次握手建立连接,并且在数据传输过程中提供错误检测和数据重传功能,以保证数据的完整性。 服务器端的实现...

    android socket通信demo

    在Android平台上,Socket通信是一种常见的网络编程方式,用于设备间的双向数据传输。Socket基于TCP/IP协议,提供了可靠的、面向连接的通信服务。本篇将详细讲解Android Socket通信的基础知识、实现步骤以及注意事项...

    基于java NIO的socket通信demo

    在这个“基于java NIO的socket通信demo”中,我们将探讨如何使用NIO进行服务器和客户端的Socket通信,并解决通信过程中的字符集乱码问题。 首先,我们来看`NioServer.java`。这个文件中包含了一个基于NIO的服务器端...

    JAVA Socket通信示例

    Java Socket通信是网络编程中的基础概念,主要用于实现客户端与服务器之间的双向通信。在这个"JAVA Socket通信示例"中,我们可能会看到如何通过Socket类来创建连接,实现数据的单工、半双工和全双工传输。下面我们将...

    java sample socket demo

    总结起来,这个"java sample socket demo"提供了一个基础的Java Socket通信模板,可以帮助开发者理解和实践如何在Java中实现网络通信。无论是构建简单的聊天应用,还是复杂的分布式系统,Socket编程都是不可或缺的一...

    android java 开发can通信demo

    本示例"android java 开发can通信demo"将教你如何在Android应用中实现CAN通信功能。 首先,你需要了解CAN协议的基本概念。CAN协议是一种多主站总线,允许在分布式实时控制系统中进行数据通信。它定义了两种帧格式:...

    基于socket通信的javaDH通信实现

    Java中的Socket通信是一种基于TCP/IP协议的网络编程方式,它允许两台计算机通过网络进行双向通信。在本项目中,“基于socket通信的javaDH通信实现”是利用Java语言实现的一种安全通信机制,其中融入了Diffie-Hellman...

    android socket通信DEMO

    在Android开发中,Socket通信是实现设备间数据传输的重要手段,尤其在构建网络应用程序时,如即时...通过分析和运行此DEMO,开发者可以更好地理解Android中Socket通信的实现方式,并将其应用于更复杂的网络应用开发。

    java socket 多人聊天室 demo

    6. **BufferedReader和PrintWriter**: 这两个类通常用于Socket通信中的数据读写。`BufferedReader`用于从Socket的输入流中读取字符数据,而`PrintWriter`则用于向Socket的输出流写入字符数据。 7. **事件驱动编程**...

    android实现Socket通信聊天Demo

    在这个“android实现Socket通信聊天Demo”项目中,开发者创建了一个简单的聊天室,让用户能够通过Socket进行实时交流。 首先,我们要理解TCP协议。TCP(Transmission Control Protocol)是互联网协议族中的传输层...

    java socket gui 的小 demo

    在Java中,`java.net.Socket` 类和 `java.net.ServerSocket` 类是实现Socket通信的核心。`ServerSocket` 创建一个监听特定端口的服务器,而`Socket` 用于建立与服务器的连接。以下是一个基本的服务器端示例: ```...

    Socket demo

    在实际的Socket通信中,数据的格式化和错误处理也是关键。为了确保数据的完整传输,我们需要处理可能出现的IOExceptions,比如网络中断或超时。同时,如果服务器端和客户端之间有特定的数据协议,例如JSON或XML,...

    本地socket通信的简单实现demo

    这个简单的本地Socket通信demo展示了如何在Android中创建服务器和客户端,以及如何进行数据传输。在实际应用中,我们可能需要处理异常、并发连接,以及更复杂的协议解析。通过分析和运行这个示例,我们可以更好地...

    socket小demo(安卓客户端+java服务器端)

    这个"socket小demo"涵盖了基本的Socket通信流程,包括服务器端的监听、客户端的连接、数据的读写以及连接关闭。实际应用中,可能还需要处理异常、数据编码解码、多线程等问题,以提高系统的稳定性和效率。 在...

    socket双向通信demo

    本示例"socket双向通信demo"着重展示了如何使用Java的Socket API实现客户端与服务器端之间的双向通信。在Eclipse这样的集成开发环境中,你可以直接导入并运行这些示例代码,以便深入理解Socket通信的工作原理。 ...

    Android-netty和socket通信的demo

    本示例“Android-netty和socket通信的demo”将展示如何在Android平台上利用Netty进行网络通信,与传统的Socket编程相结合,实现更加灵活和高效的通信机制。 首先,理解Netty的基本概念是非常重要的。Netty是一个...

    java socket通信 一对多

    1)设计程序,分别构建通信的两端:服务器端和客户端应用程序,套接字类型... 5,可以查看本实验的运行效果C# DEMO程序:SOCKET DEMO 6,注意理解程序的线程、Socket的基本动作(Accept、Connect、Send、Receive)等;

Global site tag (gtag.js) - Google Analytics