新聞中心
用java編寫(xiě)一個(gè)能進(jìn)行簡(jiǎn)單TCP/IP通信的C/S程序
import java.net.ServerSocket;
創(chuàng)新互聯(lián)主營(yíng)北海街道網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開(kāi)發(fā)公司,北海街道h5小程序設(shè)計(jì)搭建,北海街道網(wǎng)站營(yíng)銷(xiāo)推廣歡迎北海街道等地區(qū)企業(yè)咨詢
import java.net.Socket;
public class TcpServer
{
public static void main(String[] args) throws Exception
{
// 創(chuàng)建服務(wù)器端的socket對(duì)象
ServerSocket ss = new ServerSocket(5000);
// 監(jiān)聽(tīng)連接
Socket socket = ss.accept();
// 直到連接建立好之后代碼才會(huì)往下執(zhí)行
System.out.println("Connected Successfully!");
}
}
import java.net.Socket;
public class TcpClient
{
public static void main(String[] args) throws Exception
{
Socket socket = new Socket("127.0.0.1", 5000);
}
}
用java建立網(wǎng)絡(luò)連接TCP
服務(wù)器端:
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 + "個(gè)客戶:" + 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();
}
}
java中怎么寫(xiě)tcp連接某個(gè)ip端口和斷開(kāi),能不能舉個(gè)例子
是在等待中,當(dāng)?shù)玫絪ocket連接時(shí),就得到了對(duì)端的端點(diǎn)地址。每個(gè)客戶端是不同的端點(diǎn)地址。
java Socket 短連接和長(zhǎng)連接的區(qū)別
所謂長(zhǎng)連接,指在一個(gè)TCP連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,在TCP連接保持期間,如果沒(méi)有數(shù)據(jù)包發(fā)送,需要雙方發(fā)檢測(cè)包以維持此連接,一般需要自己做在線維持。
短連接是指通信雙方有數(shù)據(jù)交互時(shí),就建立一個(gè)TCP連接,數(shù)據(jù)發(fā)送完成后,則斷開(kāi)此TCP連接,一般銀行都使用短連接。
比如http的,只是連接、請(qǐng)求、關(guān)閉,過(guò)程時(shí)間較短,服務(wù)器若是一段時(shí)間內(nèi)沒(méi)有收到請(qǐng)求即可關(guān)閉連接。
其實(shí)長(zhǎng)連接是相對(duì)于通常的短連接而說(shuō)的,也就是長(zhǎng)時(shí)間保持客戶端與服務(wù)端的連接狀態(tài)。
長(zhǎng)連接與短連接的操作過(guò)程:
通常的短連接操作步驟是:
連接→數(shù)據(jù)傳輸→關(guān)閉連接;
而長(zhǎng)連接通常就是:
連接→數(shù)據(jù)傳輸→保持連接(心跳)→數(shù)據(jù)傳輸→保持連接(心跳)→……→關(guān)閉連接;
這就要求長(zhǎng)連接在沒(méi)有數(shù)據(jù)通信時(shí),定時(shí)發(fā)送數(shù)據(jù)包(心跳),以維持連接狀態(tài),短連接在沒(méi)有數(shù)據(jù)傳輸時(shí)直接關(guān)閉就行了.
長(zhǎng)連接和短連接 java 代碼中具體是怎么實(shí)現(xiàn)的?
你是指微博那種短連接么?
如果是請(qǐng)看下面的,如果不是,額,就當(dāng)我不存在吧。
其實(shí)就是將原有的連接根據(jù)一定的算法變?yōu)橐粋€(gè)定長(zhǎng)的字符串,然后保存在db的表中。對(duì)于可能出現(xiàn)的重復(fù)對(duì)應(yīng),采取類(lèi)似于hash中的處理方法來(lái)解決。
額,這個(gè)方面的文檔網(wǎng)上挺多的呀
java如何通過(guò)tcp發(fā)送指令
以下是一個(gè)展示java使用tcp通訊的簡(jiǎn)單例子,包括服務(wù)器和客戶端代碼:
/**
*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();
}
}
當(dāng)前標(biāo)題:java代碼tcp短連接,java tcp 長(zhǎng)連接
當(dāng)前地址:http://www.ef60e0e.cn/article/hdchph.html