導航:首頁 > 編程大全 > 用socket工具來做伺服器端

用socket工具來做伺服器端

發布時間:2023-03-25 06:22:46

1. 在同一個計算機上怎麼實現socket方法

首先,需要弄懂socket的工作機制,無需裝什麼虛擬機。慧山
大致的思路是這樣:
一、伺服器端,將socket綁定在本地IP的某個埠前運中,如6000;啟動監聽並開始悄擾接受客戶端。
二、客戶端,創建socket以後,連接到本地IP的6000埠,這樣就可以了。
三、然後,雙方收發數據。

注意:給本地伺服器發送數據,網路協議並不將數據發送到網卡上,所以這種類型的數據流是不會出現在網路上的。其他方面的特性和遠端通信是差不多的。

2. 誰能用C語言寫個最簡單socket通信服務端和客戶端示例

網路的Socket數據傳輸是一種特殊的I/O,Socket也是一種文件描述符。Socket也具有一個類似液逗於打開文件的函數調用Socket(),該函數返回一個整型的Socket描述符,隨後的連接建立、數據傳輸等操作都是通過該Socket實現的。
下面用Socket實現一個windows下的c語言socket通信例子,這里我們客棚埋渣戶端傳遞一個字元串,伺服器端進鏈悄行接收。
【伺服器端】
#include "stdafx.h"
#include <stdio.h>
#include <winsock2.h>
#include <winsock2.h>
#define SERVER_PORT 5208 //偵聽埠
void main()

3. Socket編程如何搭建一個外網可以訪問的伺服器

搭建外網訪問,首先你要有一台外網可訪問的伺服器,有以下幾種方法可以實現。祥鉛
一、購買外網伺服器。由於伺服器端使用java語言開發,所以外網伺服器操作系統可以是Linux或Windows,這個需要你花錢購買。如果只是測試,你可以選擇購買阿里雲的雲伺服器,非常便宜。
二、還有一種方法就是你通過花生殼之類的軟體進行映射你的網路,但花生殼對長城寬頻之類的網路支持不是特別好,如果需要很好的支持,那也需要花錢購買。
三、如果你是通過路由器上網,並且可以操作路由器許可權且使用的是電信或者是聯通的網路,那可以直接在路由器裡面做埠映射,這個你可以謹晌好網路一下,有很多文章講謹正的非常清楚,這里篇幅限制,就不貼了。
四、如果你是直接通過貓上網且使用電信或聯通寬頻,那可以直接使用本機外網IP訪問你的程序
以上四種方法中,最穩定的還是購買外網伺服器,其它都會有各種問題,你可以選擇其中適合你的一種方法。希望能幫助到你

4. JAVA問題:用socket編寫一個伺服器端程序

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

publicclass Server
{
private ServerSocket ss;

private Socket socket;

private BufferedReader in;

private PrintWriter out;

public Server()
{
try
{
ss = new ServerSocket(10000);
while (true)
{
socket = ss.accept();
String RemoteIP = socket.getInetAddress().getHostAddress();
String RemotePort = ":" + socket.getLocalPort();
System.out.println("A clientcome in!IP:" + RemoteIP
+ RemotePort);
in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
String line = in.readLine();
System.out.println("Cleint sendis :" + line);
out = new PrintWriter(socket.getOutputStream(), true);
out.println("YourMessage Received!");
out.close();
in.close();
socket.close();
}
}
catch (IOException e)
{
out.println("wrong");
}
}

publicstaticvoid main(String[] args)
{
new Server();
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

publicclass Client {
Socket socket;

BufferedReader in;

PrintWriter out;

public Client()
{
try
{
System.out.println("Try toConnect to 127.0.0.1:10000");
socket = new Socket("127.0.0.1", 10000);
System.out.println("The ServerConnected!");
System.out.println("Pleaseenter some Character:");
BufferedReader line = new BufferedReader(new

InputStreamReader(System.in));
out = new PrintWriter(socket.getOutputStream(), true);
out.println(line.readLine());
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
System.out.println(in.readLine());
out.close();
in.close();
socket.close();
}
catch (IOException e)
{
out.println("Wrong");
}
}

publicstaticvoid main(String[] args)
{
new Client();
}
}

你再改改代碼就可以了.但我沒時間幫你調了……

5. C++用socket 做服務端,Java做客戶端 可以通信嗎

可以通信的,因為C++和JAVA都是使用SOCKET編程,因此C++寫的伺服器,JAVA做客戶端是能夠通信孝亮的。我也經常使用PYTHON搭建一個伺服器,因為PYTHON提供了SOCKET庫,這個庫跨平台也很好用。我的同事在寫溫濕度監控的後台伺服器(java),就是連接到我用python寫的伺服器進行測試的。
如果說你的通信不上,那麼先要檢測,能否互相ping通,其次搞清楚C++伺服器在區域網還是外網,如果是自己搭的服務雹枯器還需要考慮這個埠映射問題。如果這些都沒問題就是通信不上,你就要通過wireshark等抓包工具查一巧肆寬下TCP/IP的三次握手了。一般來說,調用socket的API時系統都會通過返回值告訴你實際連接上沒有,如果是通信不上,多半是通信協議這一塊沒做好。
如果有不懂的,歡迎進一步提問

6. 如何在客戶端上建立一個Socket與伺服器端連接,包括連接的函數

ClientSocket組件為客戶端組件。它是通信的請求方,也就是說,它是主動地與伺服器端建立連接。
ServerSocket組件為伺服器端組件。它是通信的響應方,也就是說,它的動作是監聽以及被動接受客戶端的連接請求,並對請求進行回復。
ServerSocket組件可以同時接受一個或多個ClientSocket組件的連接請求,並與每個ClientSocket組件建立單獨的連接,進行單獨的通信。因此,一個伺服器端可以為多個客戶端服務。
設計思路
本例包括一個伺服器端程序和一個客戶端程序。客戶端程序可以放到多個計算機上運行,同時與伺服器端進行連接通信。
本例的重點,一是演示客戶端與伺服器端如何通信;二是當有多個客戶端同時連接到伺服器端時,伺服器端如何識別每個客戶端,並對請求給出相應的回復。為了保證一個客戶端斷開連接時不影響其它客戶端與伺服器端的通信,同時保證伺服器端能夠正確回復客戶端的請求,在本例中聲明了一個記錄類型:
type
client_record=record
CHandle: integer; //客戶端套接字句柄
CSocket:TCustomWinSocket; //客戶端套接字
CName:string; //客戶端計算機名稱
CAddress:string; //客戶端計算機IP地址
CUsed: boolean; //客戶端聯機標志
end;
利用這個記錄類型數據保存客戶端的信息,同時保存當前客戶端的連接狀態。其中,CHandle保存客戶端套接字句柄,以便准確定位每個與伺服器端保持連接的客戶端;Csocket保存客戶端套接字,通過它可以對客戶端進行回復。Cused記錄當前客戶端是否與伺服器端保持連接。
下面對組件ServerSocket和ClientSocket的屬性設置簡單說明。
ServerSocket的屬性:
· Port,是通信的埠,必須設置。在本例中設置為1025;
· ServerTypt,伺服器端讀寫信息類型,設置為stNonBlocking表示非同步讀寫信息,本例中採用這種方式。
· ThreadCacheSize,客戶端的最大連接數,就是伺服器端最多允許多少客戶端同時連接。本例採用默認值10。
其它屬性採用默認設置即可。
ClientSocket的屬性:
· Port,是通信的埠,必須與伺服器端的設置相同。在本例中設置為1025;
· ClientType,客戶端讀寫信息類型,應該與伺服器端的設置相同,為stNonBlocking表示非同步讀寫信息。
· Host,客戶端要連接的伺服器的IP地址。必須設置,當然也可以在代碼中動態設置。
其它屬性採用默認設置即可。

7. 用java socket實現一個伺服器對多個客戶端的文件傳輸

通過socket可以用如下方式進行。
1.啟動服務端代碼。
2.啟動客戶端自動連接服務端。
3.服務端上傳文件,保存文件和路徑。
4.將路徑發送給連接服務端的客戶端。

8. 如何使用socket進行客戶端和伺服器端的通信

下載完成後,軟體是一個單獨的運行程序,可以直接打開軟體。

3
軟體的界面很簡單,在左側有tcp和udp的客戶端或服務端的快捷按鈕,上方有【創建】【刪除】【退出】等選項按鈕。

4
我們先來建立TCP的測試服務端。點擊【TCP Server】再點擊【創建】。

選擇一個監聽埠,這里我們使用6001作為服務端的監聽埠。

建立完成後,服務端會自動啟動,軟體會顯示【啟動監聽】的狀態。

我們可以檢測一下本機的6001埠是否已經打開。在DOS窗口中輸入命令【netstat -a】,可以在列表中看到本機的6001埠的狀態為listening的狀態,表示本機的6001埠正處於監聽的狀態。

在DOS窗口中輸入命令【telnet 192.168.0.140 6001】來登錄本地的6001埠。

點擊回車鍵,就可以成功登錄6001埠。在測試軟體中就可以看到狀態是已連接的狀態,同時也可以看到對方的ip就是本地ip。

再來測試通信情況,在DOS窗口中輸入a、b、c,在軟體的接收窗口就可以看到收到的數據了。

在軟體的發送窗口中輸入1234567890,點擊發送後,在DOS窗口中就可以看到軟體發送過來的數據了。

測試完成後,在軟體中點擊【停止監聽】,同時在DOS窗口中可以看到【失去了跟主機的連接】,表示測試連接已經斷開。

再來創建TCP的客戶端,點擊【TCP Client】再點擊【創建】。會彈出【創建socket客戶端】窗口,輸入對方的ip和對方的埠,點擊確認。

tcp的客戶端已經建立好,如果對方的埠監聽正常的話,點擊【連接】就可以連接到對方的埠和對方進行測試通信了。

9. Mac端socket調試工具

最近開發一款軟體需要用到TCP長連接的功能,客戶端要做的事情簡單,連接到服務端之後,通過心跳包來讓伺服器了解自己的狀態。另外就是伺服器會主動發送消息給客戶端,客戶端收到消息做出相應的反應。

因為對服務端依賴比較重,而這個時候你的服務端可能並沒寫完善,或者是你寫服務端的時候需要一個客戶端配合調試,這個時候最效率的做法就是先找個socket模擬工具,調試完成再測試。敗好

在app store找了一圈,發現socket工具少的可憐察判鉛,而且找到的那沖森幾款都是收費的。因為以前學java的時候對socket還是印象深刻的,所以最終決定自己做一個。

服務端

客戶端

軟體名稱: 異米網路工具 ,可以在appStore找到

10. 最近在做一個課設:基於Socket 的區域網聊天工具。請問伺服器端和客戶端是怎麼通過IP地址找到對方的

Server端不是要建立serversocket么基指坦,逗茄這個類會監聽socket連接,客戶端連接服務端的時候會攜帶本機(客戶端)的ip,伺服器接收連接,經過三次握手之後雙方建立tcp連接,然後就可以通訊了,搏桐編寫服務端的時候並不需要關心客戶端發起連接的埠。

獲取ip:socket.getInetAddress()
獲取埠:socket.getPort();

閱讀全文

與用socket工具來做伺服器端相關的資料

熱點內容
word如何調底色 瀏覽:409
蘋果描述過期文件 瀏覽:271
當日沖賬密碼 瀏覽:691
u盤文件被吃掉了怎麼恢復 瀏覽:440
電腦游標總是打開同一個文件 瀏覽:178
數據刪除怎麼表示 瀏覽:672
蘋果用什麼清理緩存文件 瀏覽:248
數據科學之路是什麼 瀏覽:857
哪個app貸款好 瀏覽:826
iphone支持橋接嗎 瀏覽:16
dnf85版本首飾熟練度還有用么 瀏覽:201
commonconfigcfg配置文件 瀏覽:973
如何將wps文件拉入蘋果手機裡面 瀏覽:456
高中學什麼編程 瀏覽:342
迷你編程如何切換角色 瀏覽:737
魔術工具怎樣做 瀏覽:972
IDEA文件夾哪個是安裝包 瀏覽:864
wav格式的文件 瀏覽:489
iphone4s支持的視頻解析度 瀏覽:123
wps圖表鏈接文件不可用 瀏覽:426

友情鏈接