當前位置:首頁 » 編程語言 » javatcp發送

javatcp發送

發布時間: 2025-03-31 11:53:14

『壹』 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向指定的IP發送指令並獲得返回的包

以下是一個展示java使用tcp通訊的簡單例子,包括伺服器和客戶端代碼:x0dx0ax0dx0a/**x0dx0a *TCPServerx0dx0a */x0dx0aimport java.io.*;x0dx0aimport java.net.*;x0dx0aclass TCPServer{x0dx0a public static void main(String[] args)throws IOException{x0dx0a ServerSocket listen = new ServerSocket(5050);x0dx0a x0dx0a Socket server = listen.accept();x0dx0a InputStream in = server.getInputStream();x0dx0a OutputStream out = server.getOutputStream();x0dx0a char c = (char)in.read();x0dx0a System.out.println("收到:" + c);x0dx0a out.write('s');x0dx0a x0dx0a out.close();x0dx0a in.close();x0dx0a server.close();x0dx0a listen.close();x0dx0a }x0dx0a}x0dx0ax0dx0a/**x0dx0a *TCPClientx0dx0a */x0dx0aimport java.io.*;x0dx0aimport java.net.*;x0dx0aclass TCPClient{x0dx0a public static void main(String[] args)throws IOException{x0dx0a Socket client = new Socket("127.0.0.1" , 5050);x0dx0a InputStream in = client.getInputStream();x0dx0a OutputStream out = client.getOutputStream();x0dx0a x0dx0a out.write('c');x0dx0a char c = (char)in.read();x0dx0a System.out.println("收到:" + c);x0dx0a out.close();x0dx0a in.close();x0dx0a client.close();x0dx0a }x0dx0a}

『叄』 java中怎麼用tcp/ip將伺服器的消息發送給多個用戶

在Java中使用TCP/IP將伺服器的消息發送給多個用戶時,首先你需要通過accept方法獲取到一個Socket,這個Socket是連接到客戶端的Socket,用於實現兩者之間的通信。

為了實現這個功能,我創建了一個ServerThread類,用於處理與每個客戶端的交互。在ServerThread類中,我為Socket創建了一個成員變數so,並通過構造函數對其進行初始化。這個類還包含兩個方法:send和receive,分別用於發送和接收消息。

為了實現接收消息,我創建了一個內部類Thread,並在其中定義了run方法。這個Thread類繼承自Thread,並重寫了run方法,以實現接收客戶端發送的消息。

接著,我創建了一個ServerThread對象tt,並將其與特定的Socket關聯起來。為了能夠向每個客戶端發送消息,我將ServerThread對象保存在一個集合中。這樣,當需要向某個特定客戶端發送消息時,可以從集合中取出對應的ServerThread對象,調用其send方法,並將要發送的消息對象作為參數傳遞。

為了實現發送消息,我需要在send方法中添加邏輯,將消息通過Socket發送給客戶端。這個過程涉及到使用OutputStream對象將消息寫入Socket的輸出流中。

通過這種方式,可以實現伺服器向多個客戶端發送消息的功能。每個客戶端的交互都由一個獨立的ServerThread處理,這樣可以確保消息發送的可靠性和並發性。

此外,還可以進一步優化這個設計,例如通過多線程處理多個客戶端的請求,提高伺服器的並發性能。在實際應用中,還需要考慮網路錯誤處理、超時處理等問題,以確保系統的穩定性和可靠性。

總之,通過這種方式,可以實現Java中使用TCP/IP將伺服器的消息發送給多個用戶的功能。這為構建高性能的網路應用提供了堅實的基礎。

『肆』 在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();

}

}

熱點內容
可執行文件是編譯鏈接後生成的文 發布:2025-04-02 04:36:44 瀏覽:165
電腦文件加密軟體免費 發布:2025-04-02 03:02:51 瀏覽:798
php圖片管理 發布:2025-04-02 03:01:11 瀏覽:258
然後弄編程 發布:2025-04-02 02:54:06 瀏覽:105
解壓室俱樂部 發布:2025-04-02 02:47:04 瀏覽:274
安卓哪裡下載文豪野犬 發布:2025-04-02 02:45:04 瀏覽:784
優酷安卓怎麼免廣告 發布:2025-04-02 02:30:07 瀏覽:828
安卓系統怎麼把繁體字改為簡體字 發布:2025-04-02 02:14:39 瀏覽:319
androidpos機 發布:2025-04-02 01:40:54 瀏覽:368
電腦上建立ftp伺服器 發布:2025-04-02 01:26:59 瀏覽:721