1. 程式人生 > >Java實現簡單的本機TCP協議雙向通訊

Java實現簡單的本機TCP協議雙向通訊

在完成了傳送端與接收端的連線以後,可以進行雙方的雙向通訊,這裡的例子是SeverDemo在收到訊息後回覆一條訊息給ClientDemo。

程式碼:

ClientDemo.java

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class ClientDemo {

	public static void main(String[] args) throws IOException{
		Socket s = new Socket("192.168.23.1", 10001);
		
		OutputStream os = s.getOutputStream();
		os.write("Can you read me?".getBytes());
		
		InputStream is = s.getInputStream();
		byte[] buf = new byte[1000];
		int length = is.read(buf);
		System.out.println("Information from " + s.getLocalAddress().getHostAddress() + " : " + new String(buf, 0, length));
		
		s.close();
	}
}

SeverDemo.java

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class SeverDemo02 {

	public static void main(String[] args) throws IOException{
		ServerSocket ss = new ServerSocket(10001);
		
		Socket s = ss.accept();
		InputStream is = s.getInputStream();
		byte[] buf = new byte[1000];
		int length = is.read(buf);
		System.out.println("Information from " + s.getLocalAddress().getHostAddress() + " : " + new String(buf, 0, length));
		
		OutputStream  os = s.getOutputStream();
		os.write("Very clear.".getBytes());
		
		s.close();
	}

}

相關推薦

Java實現簡單TCP協議雙向通訊

在完成了傳送端與接收端的連線以後,可以進行雙方的雙向通訊,這裡的例子是SeverDemo在收到訊息後回覆一條訊息給ClientDemo。程式碼:ClientDemo.javaimport java.io.IOException; import java.io.InputStr

Java程式設計實現獲取IP和計算機名的功能

import java.net.InetAddress; import java.net.UnknownHostException; public class Test { public sta

java用ServerSocket類結合io流實現一對一聊天(java實現簡單TCP聊天程式只能用telnet連線後方可使用)

粗略寫了點程式碼,其實這種在流的實現方式裡面可以用好多種不同流方面的類,我這沒用最簡單的,而是那邊弄個流這邊弄個流,好讓自己熟悉不同流的類,希望大家別繞暈哈。可能對新手會有點繞,不過久了應該就會了,程

java實現簡單的四則運算

四則運算 計算器本文出自 “十裏稻花香” 博客,請務必保留此出處http://5880861.blog.51cto.com/5870861/1943836java實現簡單的四則運算

java實現簡單二維迷宮(2)

blog 成員 new 構建 push port ava amp use 這次是改良版本。 將地圖封裝,老鼠封裝。是對Java基礎的一個練習吧。 這次實現也遇到了一些問題。主要是棧。封裝的mouse類中有成員變量i,j代表了老鼠的坐標。將mouse類對象m入棧的時候,總是入

Java實現簡單文件過濾器

想要 空格 遞歸 port 文件過濾 list rgs lis http 輸入路徑查找該路徑下的指定文件類型的文件 代碼思路: 想要循環遍歷文件夾下所有子文件夾,就要用到遞歸。 首先判斷路徑是否存在:   是:獲取文件     判斷是否文件夾:       是:調用自身

java實現簡單的單點登錄 (轉)

hresult 調查公司 exe ftp 說我 負數 是我 create 統一 摘要:單點登錄(SSO)的技術被越來越廣泛地運用到各個領域的軟件系統當中。本文從業務的角度分析了單點登錄的需求和應用領域;從技術本身的角度分析了單點登錄技術的內部機制和實現手段,並且給出Web-

java 實現簡單的短信發送

下載 har ase 設置 request enc value pri ring 現在中國網建上註冊一個自己的賬戶, 然後裏面有代碼案例,也有相應的下載jar包的地址 代碼如下: public class Message { public static void main

消息隊列 (2) java實現簡單的RabbtMQ

java實現 java cal png bit close 項目 rri XML 假設有如下問題:   1.如果消費者連接中斷,這期間我們應該怎麽辦?   2.如何做到負載均衡?   3.如何有效的將數據發送到相關的接收者?就是怎麽樣過濾   4.如何保證消費者收到完整正確

JAVA實現簡單控制檯五子棋遊戲

GobangMain這個類是遊戲的主方法,主要用於控制遊戲的執行,值得注意的是輸入的座標的格式是3,4的樣式,不能是其他的格式,也不能出現空格。 package com.qf.Gobang; import java.util.Scanner; import org.omg.COR

java實現簡單的MVC框架

.title { background: blue; height: 50px; line-height: 50px; border: 1px solid; color: red } 一、mvc的模式如下圖所示 二、基於路徑訪問的控制器 控制器BaseServlet類如下 package c

Java實現簡單的資料結構(五)

(5)二叉樹 public class BinaryTreeNode { private Comparable data; private BinaryTreeNode root; private BinaryTreeNode left; private BinaryTreeN

Java實現簡單的資料結構(四)

(4)Queue import org.junit.Test; public class Queue { private int size = 0; private LinkedList linkedList = new LinkedList(); /** * 入隊方法

Java實現簡單的資料結構(三)

(3)Stack package com.coding.basic; import org.junit.Test; public class Stack { private ArrayList elementData = new ArrayList(); /** * 壓棧

Java實現簡單的資料結構(二)

2.LinkedList import java.util.NoSuchElementException; import org.junit.Test; public class LinkedList implements List { private Node first;

Java實現簡單的資料結構(一)

利用Java語言實現簡單的資料結構,Java中動態擴容的ArrayList,LinkedList,Stack,Queue以及二叉樹 1.ArrayList import java.util.Arrays; import org.junit.Test; public class A

簡單的C#TCP協議收發資料示例

參考:http://www.cnblogs.com/jzxx/p/5630516.html 一、原作者的這段話很好,先引用一下: Socket的Send方法,並非大家想象中的從一個埠傳送訊息到另一個埠,它僅僅是拷貝資料到基礎系統的傳送緩衝區,然後由基礎系統將傳送緩衝區的資料到連線的另一埠。值得一說的是,這

基於TCP協議通訊(基於Java語言)

        端與端通訊,經常由客戶端和服務端兩者組成,其中客戶端傳送請求給服務端,而服務端則響應請求。這兩者的通訊可以通過Socket來實現兩端的資料傳輸。其中Java自帶的Socket類可以建立客戶端socket,而ServerSocket可以建立一

java實現簡單的快速排序,合併排序

合併排序 public class MergeSort{ public static void merge(int[]c,int[]d,int l,int m,int r){ //合併c[l:m]和c[m+1:r]到d[l:r] int i=l,j=m+1,k=l;

Java實現簡單四則運算

工作之餘,突然想用java實現一下四則運算,經過簡單的構思,很快就有了思路,就完成了一個簡單版本。 經過慎重考慮,覺得使用棧還是要比陣列或者List容易對符號和數字進行控制。 我使用兩個棧,分別儲存數字和符號,然後判斷當前符號和前一個符號的運算級別,來決定是否進行一次彈棧運算(就是挨著