1、Linux下實現簡單的TCP伺服器與客戶端通信
一直收的那個就不要寫輸入的代碼了,直接無限讀取就可以。
一直發的那個就不要寫輸出的代碼版了,直接無限輸入就可以;
當然如果想兩個都想在伺服器和客戶端各種實現,那麼加入多線程吧。一權個線程只管輸入,一個線程只管輸出
2、VB中有tcp伺服器和客戶端,當兩個客戶端都連接上伺服器的時候。客戶端之間可以通信嗎?
兩客戶端不能直接通信;
如需通訊,可以由伺服器端中轉。
3、1.一個TCP伺服器用來和n個客戶端同步相連,需要多少個socket?
你好;1:與N個客戶端相連的話;伺服器都有一個對應的socket;也就是N個
2:為什麼TCP的C/S應用中,伺服器程序要先於客戶端程序執行 因為客戶端要連接伺服器之前先要知道伺服器的IP地址和埠號 而且這個埠號是處於監聽狀態的;如果伺服器不先啟動 那麼也不可能綁定這個埠號 客戶端根本連接不上
而UDP的C/S應用中,客戶端程序先於伺服器程序執行?
如果是通過UDP協議的話;這個沒有伺服器和客戶端之分 是相對獨立的個體;如果我是客戶端;我只要開啟一個埠 綁定這個埠 那麼人家知道我的IP地址和這個埠號 可以直接發信息給我 不用連接我;反之對方也一樣 希望能幫到你
4、TCP協議的伺服器和客戶端的配對問題
可以使用telnet命令代替那個助手,測試服務端是否可連接,
如果能telnet能連上,至少說明服務回端答服務埠在正常監聽,
如果telnet連接失敗,說明服務端有問題。
網路調試助手沒用過,你用它隨便連接一個網站的80埠試試,看你的用法是不是正確。
5、求tcp socket 客戶端的伺服器端的區別
服務在連接前監聽,客戶端主動發起連接,就著點區別。連接上後,兩者對等
6、TCP/IP 使用Socket 實現客戶端與伺服器端通信
對於伺服器,你先創建一個套接字(socket),然後bind綁定一個套接地址,然後你在用listen,此時你的伺服器會一直阻塞在這,處於監聽狀態,檢查是否有客戶端來connect,一旦有的話,你的伺服器就會accept。
所以,是你的伺服器是處於監聽狀態,監聽是否有客戶端,然後由客戶端來連接伺服器,伺服器接受客戶端的連接,而不是伺服器去連接客戶端。
7、在電腦讀取modbus tcp設備的數據應該開發客戶端還是伺服器?
modbus tcp 沒有主站、從站之分,但是有伺服器(Server)與客戶端(Client)之分:發出數據請求的一方為客戶端(Client),做出數據應答的的一方為伺服器(Server)。伺服器(Server)與客戶端(Client)分別類似於modbus rtu從站、主站的作用,但它們之間沒有任何關系。
ModBus TCP 是一種通信協議:
一端是 伺服器端,連接的另一端 就是 客戶端,
主端 應該是 客戶端,被動的從端 應該是伺服器端。
(7)tcp伺服器和客戶端擴展資料:
Modbus協議目前存在用於串口、乙太網以及其他支持互聯網協議的網路的版本。
大多數Modbus設備通信通過串口EIA-485物理層進行。
對於串列連接,存在兩個變種,它們在數值數據表示不同和協議細節上略有不同。Modbus RTU是一種緊湊的,採用二進製表示數據的方式,Modbus ASCII是一種人類可讀的,冗長的表示方式。這兩個變種都使用串列通信(serial communication)方式。
RTU格式後續的命令/數據帶有循環冗餘校驗的校驗和,而ASCII格式採用縱向冗餘校驗的校驗和。被配置為RTU變種的節點不會和設置為ASCII變種的節點通信,反之亦然。
8、每台電腦既是客戶端也是伺服器,用udp還是tcp?
如果客戶端也是伺服器,那麼使用udp還是tcp取決於伺服器實用的服務寫程序的程序員的寫法,所以說這種問題,你應該首先問編寫程序的程序員。一條路從A點去B點,有3條路,我怎麼知道當時那個人怎麼選的。
9、TCP伺服器如何檢測客戶端的IP和埠?
你熟悉socket API不?如果不熟悉的話建議先看看socket編程的文檔。這是鏈接地址:http://msdn.microsoft.com/en-us/library/ms738545(v=VS.85).aspx
一般服務端的sokcet API調用順序為:
bind() // 設置服務埠
listen() // 等待客戶端連接
accept() // 與客戶端建立連接
請參考:http://msdn.microsoft.com/en-us/library/ms737526(v=VS.85).aspx
這是accept函數的原型:
SOCKET accept(
__in SOCKET s,
__out struct sockaddr *addr,
__inout int *addrlen
);
第二個參數, addr,包含了客戶端的IP地址和埠。你可以認為這就是客戶端的IP和埠。但是,要注意的是這個IP不一定就完全等價於客戶端本機的埠。比如:客戶端在一個區域網里,IP地址是192.168.1.100,然後它通過ADSL路由連接到internet,再通過internet連接到服務端。這個時候,服務端獲得的客戶端IP地址就可能是那個ADSL路由的IP。
10、TCP伺服器和客戶機編程
真費時間呢…… import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;public class TcpServer {
public static void main(String[] args) {
try {
final int PORT = 8888;
ServerSocket serverSocket = new ServerSocket(PORT);
Socket socket = serverSocket.accept();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader in = new BufferedReader(isr); OutputStream os = socket.getOutputStream();
PrintWriter out = new PrintWriter(os,true); String line;
while((line = in.readLine()) != null) {
System.out.println("server got msg " + line + " from " + socket.getRemoteSocketAddress());
line = "I am server!";
out.println(line);
System.out.println("server sent size(byte): " + line.getBytes().length);
} out.close();
in.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
System.out.println(e);
System.exit(1);
}
}
}
import java.net.Socket;
import java.net.UnknownHostException;
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.IOException;public class TcpClient {
public static void main(String[] args) throws IOException {
try {
final String SERVER_ADDRESS = "127.0.0.1";
final int PORT = 8888;
Socket socket = new Socket(SERVER_ADDRESS,PORT); OutputStream os = socket.getOutputStream();
PrintWriter out = new PrintWriter(os,true); InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader in = new BufferedReader(isr); String line;
line = "A line sent by the client";
out.println(line); line = in.readLine();
System.out.println("client got: " + line); out.close();
in.close();
socket.close();
} catch (UnknownHostException e) {
System.out.println(e);
} catch (IOException e) {
System.out.println(e);
}
}
}