java網路程式設計之SOCKET

2021-08-02 12:06:56 字數 1750 閱讀 8724

//建立物件的時候就會建立連線

try(socket socket = new socket("time.nist.gov",13))catch(ioeception ex)

//可選的

socket.setsotimeout(150000);

//從socket中讀取資料

inputstream in = socket.getinputstream();

stringbuilder time = new stringbuilder();

//reader的編碼格式可變

inputstreamreader reader = new inputstreamreader(in, "ascii");

for (int c = reader.read();c!=-1;c=reader.read())

//獲取輸出流,並寫入命令

writer writer = new outputstreamwriter(socket.getoutputstream(),"utf-8");

writer.write("define eng-lat gold\r\n");

writer.flush();

//半關閉socket(相對於close)

//只是關閉了流,並沒有關閉socket

shutdowninput()

shutdownoutput()

//構造但不連線

socket socket = new socket()

//以抽象類建立

socketaddress address = new inetsocketaddress("time.nist.gov",13);

//連線,可以傳入第二個引數,為超時之前等待的時間

socket.connetct(address);

//得到socketaddress 的方法

getremotesocketaddress()

getlocalsocketaddress()

//**伺服器連線

socketaddress proxyaddress = new inetsocketaddress("example.com",1080);

proxy proxy = new proxy(proxy.type.socks, proxyaddress);

socket s = new socket(proxy);

//伺服器建立socket

serversocket server = new serversocket(13);

//接受乙個連線,阻塞狀態

socket connection = server.accept();

outputstream out = connection.getoutputstream();

writer writer = new outputstreamwriter(writer,"ascii");

date now = new date();

//使用/r/n來結束

out.writer(now.tostring()+"\r\n")

//使用bind()來繫結乙個socket位址

serversocket server = new serversocket();

socketaddress address = new inetsocketaddress(port);

server.bind(address);

Java網路程式設計之Socket

網路模型 tcp協議與udp協議區別 網路程式設計的本質是兩個裝置之間的資料交換,當然,在計算機網路中,裝置主要指計算機。資料傳遞本身沒有多大的難度,不就是把乙個裝置中的資料傳送給兩外乙個裝置,然後接受另外乙個裝置反饋的資料。現在的網路程式設計基本上都是基於請求 響應方式的,也就是乙個裝置傳送請求資...

網路程式設計之socket

套接字 socket 是乙個抽象層,應用程式可以通過它傳送或接收資料,可對其進行像對檔案一樣的開啟 讀寫和關閉等操作。套接字允許應用程式將i o插入到網路中,並與網路中的其他應用程式進行通訊。網路套接字是ip位址與埠的組合。套接字起源於 20 世紀 70 年代加利福尼亞大學伯克利分校版本的 unix...

網路程式設計之socket

1,socket 通訊 服務端 import socket server socket.socket server.bind 127.0.0.1,8080 server.listen 5 conn,addr server.accept data conn.recv 1024 print data c...