導航:首頁 > 編程語言 > javatcp文件

javatcp文件

發布時間:2025-02-23 14:49:44

❶ 在java中實現TCP協議編程中怎麼傳

在Java中實現TCP協議編程

ServerSocket:編寫TCP網路服務程序,首先要用到java.net.ServerSocket類用以創建伺服器Socket

構造方法:

ServerSocket(intport):創建綁定到特定埠的伺服器套接字

ServerSocket(intport,intbacklog):利用指定的backlog(伺服器忙時保持連接請求的等待客戶數量),創建伺服器套接字並將其綁定到指定的本地埠號。

ServerSocket(intport,intbacklog,InetAddressbindAddr):使用指定的埠、偵聽backlog和要綁定到的本地IP地址創建伺服器。

Socket:客戶端要與伺服器建立連接,必須先創建一個Socket對象

常用構造方法

Socket(Stringhost,intport):創建一個流套接字並將其連接到指定主機上的指定埠號。

Socket(InetAddressaddress,intport):創建一個流套接字並將其連接到指定IP地址的指定埠號。

伺服器端程序調用ServerSocket類中的accept()方法等待客戶端的連接請求,一旦accept()接收了客戶端連接請求,該方法返回一個與該客戶端建立了專線連接的Socket對象,不用程序去創建這個Socket對象。建立了連接的兩個Socket是以IO流的方式進行數據交換的,Java提供了Socket類中的getInputStream()返回Socket的輸入流對象,getOutputStream()返回Socket的輸出流對象。

TCP伺服器與TCP客戶端間的數據的接受圖示:

用TCP實現伺服器與客戶端的「聊天」:

實例代碼:

客戶端:

packagecom.hbsi.net;

importjava.net.Socket;

importjava.io.*;

publicclassTcpClient{

publicstaticvoidmain(String[]args)throwsException{

//1.建立tcp客戶端socket,要確定要連接的伺服器ip,port

Sockets=newSocket("192.168.49.87",9009);

//獲取鍵盤錄入

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

//2.通過建立的socket,獲取輸出流對象

//數據輸出給伺服器端

OutputStreamout=s.getOutputStream();

BufferedWriterbwout=newBufferedWriter(newOutputStreamWriter(out));

//獲取伺服器端返回的數據

//讀取伺服器端發過來的信息InputStreamReader()

BufferedReaderbrin=newBufferedReader(newInputStreamReader(

s.getInputStream()));

Stringline=null;

while((line=br.readLine())!=null){

if(line.equals("over"))

break;

bwout.write(line);

bwout.newLine();

bwout.flush();

Stringstr=brin.readLine();

System.out.println("server:"+str);

}

br.close();

s.close();

}

}

伺服器端:

packagecom.hbsi.net;

importjava.io.BufferedReader;

importjava.io.BufferedWriter;

importjava.io.InputStream;

importjava.io.InputStreamReader;

importjava.io.OutputStreamWriter;

importjava.net.ServerSocket;

importjava.net.Socket;

publicclassTcpServer{

publicstaticvoidmain(String[]args)throwsException{

//1.建立伺服器socket

ServerSocketss=newServerSocket(9009);

//2.調用accept()

Sockets=ss.accept();

System.out.println(s.getInetAddress().getHostAddress()

+"...connection");

//讀取客戶的信息的輸入流

InputStreamin=s.getInputStream();

BufferedReaderbrin=newBufferedReader(newInputStreamReader(in));

//向客戶端發送信息輸出流,服務端向客戶端返回信息OutputStreamWriter()

BufferedWriterbrout=newBufferedWriter(newOutputStreamWriter(

s.getOutputStream())); Stringline=null;

while((line=brin.readLine())!=null){

System.out.println("client:"+line);

brout.write(line.toUpperCase());//伺服器端收到信息後,將信息轉為大寫返回給客戶端toUpperCase()

brout.newLine();

brout.flush();

}

s.close();

ss.close();

}

}

❷ 我要一份用java網路編程寫的點對點的兩人聊天程序(TCP和UDP)

Server端:
import java.io.*;
import java.net.*;
import java.applet.Applet;
public class TalkServer{
public static void main(String args[]) {
try{
ServerSocket server=null;
try{
server=new ServerSocket(4700);
}catch(Exception e) {
System.out.println("can not listen to:"+e);
}
Socket socket=null;
try{
socket=server.accept();
}catch(Exception e) {
System.out.println("Error."+e);
}
String line;
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Client:"+is.readLine());
line=sin.readLine();
while(!line.equals("bye")){
os.println(line);
os.flush();
System.out.println("Server:"+line);
System.out.println("Client:"+is.readLine());
line=sin.readLine();
}
os.close();
is.close();
socket.close();
server.close();
}catch(Exception e){
System.out.println("Error:"+e);
}
}
}

Client端:
import java.io.*;
import java.net.*;
public class TalkClient {
public static void main(String args[]) {
try{
Socket socket=new Socket("127.0.0.1",4700);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String readline;
readline=sin.readLine(); //從系統標准輸入讀入一字元串
while(!readline.equals("bye")){
os.println(readline);
os.flush();
System.out.println("Client:"+readline);
System.out.println("Server:"+is.readLine());
readline=sin.readLine(); //從系統標准輸入讀入一字元串
}
os.close(); //關閉Socket輸出流
is.close(); //關閉Socket輸入流
socket.close(); //關閉Socket
}catch(Exception e) {
System.out.println("Error"+e); //出錯,則列印出錯信息
}
}
}

❸ java 實現抓取本地網卡TCP報文,然後解析,將其寫入資料庫 誰有樣例代碼,或者實現方式,

思路很簡單開發一個小型的WEB應用,部署在長沙和北京兩台伺服器上,安裝個tomact就可以運行和部署了這個WEB應用主要做如下事情:
接受請求,封裝json串 (為什麼JSON可以查一下網上大把的)1)收到http請求後,校驗是否是來自另外一個伺服器的請求(通過判斷請求的IP地址是否否為另外一個伺服器的IP地址即可)2)校驗通過後讀取本地伺服器資料庫,查詢需要實時同步的數據表,查出需要同步的數據,組裝成數據對象集(例如一個arraylist),然後轉換為 json格式串,寫入到response輸出流中。
發請求獲取返回結果,插入/更新資料庫1)從reponse輸出流中讀取返回結果,將JSON串轉化為對象集(網上大把的),然後開始更新/插入數據/刪除數據——————————————————————————————————————由於涉及三種操作類型 更新 刪除 插入 ,所以可以分別實現三個servlet來分別負責:1)查詢新增數據/插入新增對象2) 查詢更新數據/更新新增對象3)查詢刪除數據/刪除待刪除的對象——————————————————————————————————————定時調度同步程序使用timer寫個jar程序,循環每5分鍾利用httpconnnection一次請求之行下插入/更新/刪除的servlet___________________________________________________________________

❹ java如何通過tcp向指定的IP發送指令並獲得返回的包

以下是一個展示java使用tcp通訊的簡單例子,包括伺服器和客戶端代碼:

/**
*TCPServer
*/
import java.io.*;
import java.net.*;
class TCPServer{
public static void main(String[] args)throws IOException{
ServerSocket listen = new ServerSocket(5050);

Socket server = listen.accept();
InputStream in = server.getInputStream();
OutputStream out = server.getOutputStream();
char c = (char)in.read();
System.out.println("收到:" + c);
out.write('s');

out.close();
in.close();
server.close();
listen.close();
}
}

/**
*TCPClient
*/
import java.io.*;
import java.net.*;
class TCPClient{
public static void main(String[] args)throws IOException{
Socket client = new Socket("127.0.0.1" , 5050);
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();

out.write('c');
char c = (char)in.read();
System.out.println("收到:" + c);
out.close();
in.close();
client.close();
}
}

❺ java如何通過TCP發送字元串和整型數據組成的報文

在Java中,你可以使用Socket和ServerSocket類來通過TCP發送和接收數據。以下是一個簡單的例子,它展示了如何發送字元串和整數數據。
首先,這是一個伺服器端的代碼:
java復制代碼
import java.io.*;
import java.net.*;

public class TCPServer {
public static void main(String args[]) {
try {
ServerSocket serverSocket = new ServerSocket(8080);
System.out.println("Server is listening on port 8080");

Socket clientSocket = serverSocket.accept();
System.out.println("Connected to client");

DataInputStream in = new DataInputStream(clientSocket.getInputStream());
DataOutputStream out = new DataOutputStream(clientSocket.getOutputStream());

String receivedString = in.readUTF();
int receivedInt = in.readInt();

System.out.println("Received string: " + receivedString);
System.out.println("Received int: " + receivedInt);

out.writeUTF("String received");
out.writeInt(receivedInt * 2);

in.close();
out.close();
clientSocket.close();
serverSocket.close();
} catch (IOException e) {
System.out.println("Exception caught when trying to listen on port 8080 or listening for a connection");
System.out.println("Server exception: " + e.getMessage());
}
}
}
然後,這是一個客戶端的代碼:
java復制代碼
import java.io.*;
import java.net.*;

public class TCPClient {
public static void main(String args[]) {
try {
Socket socket = new Socket("localhost", 8080);
System.out.println("Connected to server");

DataOutputStream out = new DataOutputStream(socket.getOutputStream());
DataInputStream in = new DataInputStream(socket.getInputStream());

out.writeUTF("Hello Server");
out.writeInt(123);

String receivedString = in.readUTF();
int receivedInt = in.readInt();

System.out.println("Received string: " + receivedString);
System.out.println("Received int: " + receivedInt);

in.close();
out.close();
socket.close();
} catch (IOException e) {
System.out.println("Exception caught while trying to connect to server");
System.out.println("Client exception: " + e.getMessage());
}
}
}
在這個例子中,伺服器在接收到客戶端發送的字元串和整數後,會列印出來,然後返回修改過的整數。客戶端在接收到伺服器返回的字元串和整數後,也會列印出來。

閱讀全文

與javatcp文件相關的資料

熱點內容
程序員有點兒甜 瀏覽:395
玖富普惠app怎麼下載 瀏覽:28
pid演算法介紹 瀏覽:991
ftplinux上傳文件夾 瀏覽:448
女生自製解壓玩具無氣球 瀏覽:506
酸奶機做西瓜解壓視頻 瀏覽:109
編程python有趣up主有哪些 瀏覽:739
現代加密貨幣價格表 瀏覽:811
php程序員考試 瀏覽:622
安卓手機怎麼開鏡開火不了 瀏覽:58
足球頭條app怎麼掙錢 瀏覽:780
stc單片機封裝ad 瀏覽:594
如何安裝信息伺服器 瀏覽:438
那個壓縮工具最好 瀏覽:178
中國女神程序員 瀏覽:186
解壓包pc版 瀏覽:691
小學生編程大賽網址 瀏覽:696
閨蜜圈app怎麼樣 瀏覽:954
審題要津與解法研究pdf 瀏覽:606
演算法工程師一般工作到幾歲 瀏覽:480