`

java Socket通信小栗子

    博客分类:
  • J2EE
阅读更多
server端:
package com.test.socket;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {
	public static void main(String[] args){
		System.out.println("Server statring...");
		SocketServer server = new SocketServer();
		server.init();
	}
	
	public void init(){
		try{
			ServerSocket serverSocket = new ServerSocket(12345);
			while(true){
				System.out.println("socketClient...");
				Socket socketClient = serverSocket.accept();
				new HandlerThread(socketClient);
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	private class HandlerThread implements Runnable{
		private Socket socket;
		public HandlerThread(Socket client){
			socket = client;
			System.out.println("HandlerThread:" + client.toString());
			new Thread(this).start();
		}
		
		@Override
		public void run(){
			try{
				System.out.println("HandlerThread.run:");
				DataInputStream input = new DataInputStream(socket.getInputStream());
				byte clientInputBtye = input.readByte();
//				String clientInputStr = input.readUTF();
//				System.out.println("clientInputStr:" + clientInputStr);
				System.out.println("clientInputBtye:" + clientInputBtye);
				
				DataOutputStream out = new DataOutputStream(socket.getOutputStream());
				byte[] b = {00, 00, 00, 00, 00, 06, 01, 03, 00, 10, 00, 73, 00};
	   // Clinet receiveStr:00  00  00  00  00  06  01  03  00  00  00  02 00
				out.write(b, 0, b.length);
				
				out.close();    
                input.close(); 
			}catch(Exception e){
				e.printStackTrace();
			}finally{
				if(socket != null){
					try{
						socket.close();
					}catch(Exception e){
						socket = null;
						e.printStackTrace();
					}
				}
			}
		}
	}
	
}



Client端
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.util.Properties;
public class SocketServer {
    public static void main(String[] args){
        // Get properties.
        Properties configProperties = new Properties();
        String propertiesURI = "/sysconfig.properties";
        String[] addr = propertiesURI .split(":");
        String receiveStr = "";
//        String sendStr = "00 00 00 00 00 06 01 03 00 00 00 02";
        byte[] sendByteArr = {00,00,00,00,00,06,01,03,00,00,00,02};

        //  Default create a stream socket; otherwise, create a datagram socket.
        Socket socket = null;
        try{
            socket = new Socket(addr[0], Integer.parseInt(addr[1]));
            socket.setSoTimeout(20 * 1000);

            //Send str to server.
            DataInputStream dataInputStream = new DataInputStream(socket.getInputStream());
            DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
            dataOutputStream.write(sendByteArr, 0, sendByteArr.length);

            // Receive str.
            byte[] receiveBytes = new byte[13];
            int receiveInt = dataInputStream.read(receiveBytes, 0, receiveBytes.length);
            receiveStr = bytesToHexStr(receiveBytes);

            dataOutputStream.close();
            dataInputStream.close();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (socket != null) {
                try {
                    socket.close();
                }
                catch (Exception e) {
                    socket = null;
                    e.printStackTrace();
                }
            }
        }

        return receiveStr;
    }
}
  • 大小: 39.9 KB
分享到:
评论

相关推荐

    Java Socket 聊天通信演示代码

    Java Socket 是一种网络通信协议,它是Java编程语言中实现客户端-服务器模型的基础。Socket 提供了低级别的、面向连接的、双向通信的网络接口,允许应用程序通过网络进行数据传输。在本示例中,我们将深入探讨Java ...

    基于java的开发源码-Java Socket通信实现.zip

    基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java ...

    java Socket通信实现.rar

    Java Socket通信实现是Java网络编程中的重要组成部分,它允许两个应用程序通过网络进行双向通信。Socket在TCP/IP协议栈中扮演着客户端与服务器端交互的角色,提供了低级别的、面向连接的、可靠的字节流通信。本代码...

    java socket通信实现

    Java Socket通信实现是一种基于TCP/IP协议的网络通信方式,它允许两台计算机通过互联网进行双向数据传输。在Java中,Socket类和ServerSocket类是实现客户端-服务器模型通信的核心工具。下面将详细介绍Java Socket...

    java Socket通信实现

    Java Socket通信实现是Java网络编程中的重要组成部分,它允许两台计算机通过TCP/IP协议进行双向通信。在Java中,Socket提供了低级别的、基于连接的、面向数据流的通信API,可以用于实现客户端-服务器架构的应用程序...

    java与c++通过socket通信

    Java和C++之间的Socket通信是跨语言网络编程的一个常见应用场景,尤其在系统集成、设备通讯或者混合编程中。Socket提供了一种基于TCP/IP协议的进程间通信(IPC)方式,可以实现在不同操作系统上的进程之间的数据传输...

    JAVA Socket通信示例

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

    java实现简单socket通信

    Java实现的简单Socket通信是网络编程中的基础技术,主要用于设备间的双向数据传输。在这个场景中,我们有两个窗口,一个作为服务器端,另一个作为客户端,它们通过TCP协议进行通信。TCP是一种面向连接的、可靠的传输...

    SpringMVC的Socket实现+Java Tomcat websocket实现+Java Socket通信实现 +Java UDP通信实现

    SpringMVC的Socket实现+Java Tomcat websocket实现+Java Socket通信实现 +Java UDP通信实现。websocket_study.rar 为springMVC版本的socket实现 websocket02.rar 里面包含tomcat的websocket实现+java socket双向通信...

    java socket通信自定义消息协议

    Java Socket通信是网络编程中的基础部分,用于实现两个应用程序之间的双向通信。自定义消息协议是在标准TCP/IP协议之上,根据具体需求设计的一种数据传输格式。本篇将详细讲解如何在Java中实现基于Socket的自定义...

    Java Socket 通信服务与客户端完整示例

    Java Socket 是一种网络通信协议,它允许两台计算机(或者在同一台计算机上的两个应用程序)通过TCP/IP进行双向通信。在Java编程中,Socket是实现网络通信的基础,它提供了低级别的、面向连接的、可靠的字节流通信。...

    Java Socket通信小结

    Java Socket通信小结 在Java编程中,Socket通信是一种基于TCP/IP协议的网络通信方式,它允许两个应用程序之间建立可靠的、双向的数据传输连接。本文将深入探讨Java Socket通信的基础知识,以及如何通过Java实现一个...

    Java_socket 通信示例(Java源码)

    Java Socket通信是网络编程中的基础概念,主要用于两个应用程序之间的双向通信。在这个"Java_socket 通信示例"中,我们看到的是一个简单的聊天室应用,它利用了Java的Socket API来实现实时的数据交换。以下是对这个...

    Java Socket 通信

    Java Socket通信是网络编程中的重要一环,它提供了在两台计算机之间建立低级连接的能力,使得数据可以在两个应用程序之间双向传输。在这个过程中,一台计算机作为服务器(Server),等待客户端(Client)的连接请求...

    java socket通信程序

    java做的通信程序,实现Server与client的通信。

    android中java和C的socket通信demo

    本教程将详细解释如何在Android中实现Java和C的Socket通信,特别是在涉及文件描述符传递的场景下。 1. **Java Socket基础** Java中的`java.net.Socket`类提供了网络通信的能力,它允许我们在两个应用程序之间建立...

    java socket使用加密协议传输对象

    在Java开发中,Socket编程是一种常见的网络通信方式,它允许不同计算机上的应用程序通过网络进行交互。然而,对于涉及敏感信息的应用场景,如金融交易、个人隐私数据处理等,仅仅依靠Socket的基础功能是远远不够的,...

    java Socket通信实现.zip

    Java Socket通信是网络编程中的基础概念,主要用于两台计算机之间的数据传输。Socket在Java中被封装为类,提供了客户端和服务器端进行双向通信的能力。在这个"java Socket通信实现.zip"的压缩包中,可能包含了关于...

    java上socket通信即时通信界面本

    Java Socket通信是网络编程中的重要一环,它提供了在两台计算机之间建立低级连接的能力,使得它们可以相互通信。在这个"java上socket通信即时通信界面本"中,我们很显然关注的是如何使用Java来构建一个具有图形用户...

Global site tag (gtag.js) - Google Analytics