javatcp,JAVATCP與三菱plc

本文目錄一覽:

怎麼用Java實現使用TCP協議實現文件傳輸程序

服務端監聽:ServerSocket server=new ServerSocket(port);//port:綁定的端口號

Socket client=server.accept();//監聽端口,一旦取得連接則獲得客戶端的socket連接對象client

客戶端: Socket s=new Socket(ip,port);//要連接的服務器的ip以及端口號

如果正常連接上之後,socket的對象可以獲得InputStream和OutputStreame,然後就可以進行通信了

完成通信之後,執行socket對象的close()方法關閉連接,完成一次完整的socket連接

java寫tcp客戶端測試類該怎麼寫

1.TCP服務端的程序編寫

package test;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.ServerSocket;

import java.net.Socket;

public class MyTcp{

private BufferedReader reader;

private ServerSocket serverSocket;

private Socket socket;

/**

* 創建服務端的程序,讀取客戶端傳來的數據

*/

void getserver(){

try {

serverSocket = new ServerSocket(8998); //實例化服務端socket

System.out.println(“服務器套接字已經創建成功”);

while (true) {

System.out.println(“等待客戶機的連接:”);

socket = serverSocket.accept(); //實例化socket對象

reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); //實例化BufferReader對象

getClientMessage();

}

} catch (Exception e) {

e.printStackTrace();

}

}

private void getClientMessage() {

try {

while (true) {

System.out.println(“客戶機傳來的信息是:”+reader.readLine());

}

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

MyTcp myTcp = new MyTcp(); //創建本類對象

myTcp.getserver();

}

}

2.TCP客戶端程序編寫

package test;

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.PrintWriter;

import java.net.Socket;

import java.nio.channels.WritableByteChannel;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.border.BevelBorder;

public class MyTcpClient extends JFrame{

private PrintWriter printWriter;

Socket socket;

private JTextField jTextField = new JTextField();

private JTextArea jTextArea = new JTextArea();

Container container;

/**

* 創建的Tcp客戶端程序

*/

public MyTcpClient (String title) {

super(title);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

container = this.getContentPane();

final JScrollPane jScrollPane = new JScrollPane();

jScrollPane.setBorder(new BevelBorder(BevelBorder.RAISED)); //顯示邊框

getContentPane().add(jScrollPane,BorderLayout.CENTER);

jScrollPane.setViewportView(jTextArea);

container.add(jTextField,”South”); //將文本框放在窗體下面

jTextField.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

printWriter.println(jTextField.getText()); //將文本框的信息寫入流(為下面的輸出流寫入信息做準備)

jTextArea.append(jTextField.getText() + “\n”);

jTextArea.setSelectionEnd(jTextArea.getText().length());

jTextField.setText(null);

}

});

}

private void connect() {

jTextArea.append(“嘗試連接中…\n”);

try {

socket = new Socket(“127.0.0.1”,8998);

printWriter = new PrintWriter(socket.getOutputStream(),true); //將printwriter中的信息流寫入到套接字的輸出流傳送給服務端

jTextArea.setText(“已完成連接\n\n”);

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

MyTcpClient myTcpClient = new MyTcpClient(“向服務器發送數據”);

myTcpClient.setSize(500,200);

myTcpClient.setVisible(true);

myTcpClient.connect();

}

}

3.效果展示

1先將服務端的程序跑起來

2再將客戶端的程序跑起來

3.客戶端和服務端進行交互

java如何通過tcp發送指令

以下是一個展示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和HTTP的區別和聯繫是什麼?

TCP是傳輸層協議,定義數據傳輸和連接方式的規範。握手過程中傳送的包里不包含數據,三次握手完畢後,客戶端與服務器才正式開始傳送數據。

HTTP 超文本傳送協議(Hypertext Transfer Protocol )是應用層協議,定義的是傳輸數據的內容的規範。

HTTP協議中的數據是利用TCP協議傳輸的,特點是客戶端發送的每次請求都需要服務器回送響應,它是TCP協議族中的一種,默認使用 TCP 80端口。

好比網絡是路,TCP是跑在路上的車,HTTP是車上的人。每個網站內容不一樣,就像車上的每個人有不同的故事一樣。

用java建立網絡連接TCP

服務器端:

package net;

import java.net.*;

import java.io.*;

public class TCPServer {

public static void main(String []args) throws Exception{

ServerSocket ss = new ServerSocket(6666);

int count = 0;

while (true){

Socket s = ss.accept();

count ++;

DataInputStream dis = new DataInputStream(s.getInputStream());

System.out.println(“第” + count + “個客戶:” + dis.readUTF() + s.getInetAddress() + “port” + s.getPort());

dis.close();

s.close();

}

}

}

客戶端:

package net;

import java.net.*;

import java.io.*;

public class TCPClient {

public static void main(String []args) throws Exception{

Socket s = new Socket(“127.0.0.1”,6666);

OutputStream os = s.getOutputStream();

DataOutputStream dos = new DataOutputStream(os);

dos.writeUTF(“HELLO SERVER !”);

System.out.println(“I am a client !”);

dos.flush();

dos.close();

s.close();

}

}

原創文章,作者:QHOB,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/142013.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QHOB的頭像QHOB
上一篇 2024-10-10 08:46
下一篇 2024-10-10 08:46

相關推薦

  • Python PLC:使用Python實現PLC編程

    一、什麼是Python PLC Python PLC是一種基於Python編程語言的PLC(Programmable Logic Controller,可編程邏輯控制器)編程工具。…

    編程 2025-01-27
  • PLC入門指南

    一、PLC的基本概念 PLC(Programmable Logic Controller)即可編程邏輯控制器,是一種專門用於工業自動化控制的電子設備,它運行預先編好的程序,並通過數…

    編程 2025-01-21
  • plc語言編程燈,plc指示燈編程

    本文目錄一覽: 1、plc中編程方式燈和運行的區別 2、PLC正反向挨個點亮指示燈需要怎麼編程? 3、plc編程,三色燈怎麼控制 4、西門子PLC編程,有8個燈,編號為1到8,要求…

    編程 2025-01-14
  • plc還c語言厲害,plc需要用到c語言嗎

    本文目錄一覽: 1、c語言和plc哪個更有前途,哪個更高大上? 2、想知道C語言與plc有何區別嗎專業plc培訓小劉給你講述一下 3、PLC編程和c語言編程有區別是什麼?plc編程…

    編程 2024-12-27
  • PLC的發展歷史

    一、PLC的產生和發展過程 PLC,即可編程邏輯控制器,是一種使用可編程的存儲器來存儲執行特定的邏輯函數或操作控制指令,並根據事先編寫好的程序來對輸入信號進行處理並輸出控制信號的自…

    編程 2024-12-17
  • plc怎麼用c語言,plc用c語言嗎

    本文目錄一覽: 1、plc可以用c語言來編程嗎? 2、plc能用C語言編程嗎? 3、PLC的C語言怎麼弄 4、plc用c語言怎麼進行編程? plc可以用c語言來編程嗎? PLC有大…

    編程 2024-12-15
  • 控制系統c語言,c語言控制plc

    本文目錄一覽: 1、操作系統的課程設計~進程控制系統~用C語言編寫的 2、基於單片機的作息時間控制系統C語言程序 3、關於單片機溫度控制系統C語言程序中的按鍵設置程序,請求詳細的介…

    編程 2024-12-15
  • 匯川PLC編程軟件AutoShop

    匯川PLC編程軟件AutoShop是一種高效、可靠的PLC編程軟件,可以用於匯川PLC的程序開發。其主要特點是獨特的IDE界面設計,操作簡便、易於上手,支持多種常見程序設計語言,同…

    編程 2024-12-12
  • plc向c語言晉陞,plc 高級語言

    本文目錄一覽: 1、PLC編程和c語言編程有區別是什麼?plc編程初學者應該做些什麼? 2、plc與C語言有什麼關係啊! 3、c語言編程學的好可以向哪個方向發展? 4、PLC的C語…

    編程 2024-12-04
  • PLC編程軟件有哪些

    一、PLC編程軟件的功能 PLC編程軟件是一種能夠編寫、調試和監視PLC程序的工具,PLC軟件通常提供如下功能: 創建和編輯PLC程序 在線或離線模擬PLC程序 監視PLC程序的運…

    編程 2024-11-29

發表回復

登錄後才能評論