導航:首頁 > 配伺服器 > 如何在伺服器寫一個伺服器端

如何在伺服器寫一個伺服器端

發布時間:2023-01-10 03:08:52

1. 怎麼寫一個QQ的伺服器端

怎麼能用MFC做伺服器呢!你要是想做一個簡單的即時通訊伺服器,我建議你在windows下用IOCP了,在linux下用epoll。這樣的話應該可以支持大幾百個人同時在線,最重要是業務邏輯不好寫,資料庫可以自己選一個,我們用的是oracle。qq現在的客戶端不是用的MFC,他們是調用自己寫的界面類庫,這么畫面更漂亮,不用太依賴微軟。

2. c#怎麼寫一個伺服器端的socket

namespace SocketTest{ class Program { public static void SendMessage() { Socket socket = serverSocket.Accept(); Console.WriteLine("Connected a client:{0}",socket.RemoteEndPoint); socket.Send(Encoding.ASCII.GetBytes("welcome to server")); //Thread thread = new Thread(ReceiveMessage); // thread.Start(); } public static void ReceiveMessage(object obj) { Socket socket = (Socket)obj; byte[] data = new byte[1024]; int len = socket.Receive(data); string dataString = Encoding.ASCII.GetString(data, 0, len); Console.WriteLine("Receive Data:{0} from {1}", dataString,socket.RemoteEndPoint); //Thread thread = new Thread(SendMessage); //thread.Start(socket); } static Socket serverSocket; static void Main(string[] args) { //定義接收數據長度變數 int recv; //定義接收數據的緩存 byte[] data = new byte[1024]; //定義偵聽埠 IPEndPoint ipEnd = new IPEndPoint(IPAddress.Any, 5566); //定義套接字類型 serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //連接 serverSocket.Bind(ipEnd); //開始偵聽 serverSocket.Listen(10); //控制台輸出偵聽狀態 Console.Write("Waiting for a client"); //Socket client; while (true) { //一旦接受連接,創建一個客戶端 Socket client = serverSocket.Accept(); //獲取客戶端的IP和埠 IPEndPoint ipEndClient = (IPEndPoint)client.RemoteEndPoint; //輸出客戶端的IP和埠 Console.WriteLine("Connect with {0} at port {1}", ipEndClient.Address, ipEndClient.Port); //定義待發送字元 string welcome = "Welcome to my server"; //數據類型轉換 data = Encoding.ASCII.GetBytes(welcome); while (true) { try { //發送 client.Send(data, data.Length, SocketFlags.None); //接收數據可以用線程也可以不用 //ReceiveMessage(client); Thread thread = new Thread(ReceiveMessage); thread.Start(client); ////對data清零 //data = new byte[1024]; ////獲取收到的數據的長度 //recv = client.Receive(data); ////如果收到的數據長度為0,則退出 //if (recv == 0) // break; ////輸出接收到的數據 //Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv)); //將接收到的數據再發送出去 // client.Send(data, recv, SocketFlags.None); } catch (Exception) { client.Close(); serverSocket.Close(); } } client.Close(); } //Console.WriteLine("Disconnect form{0}", ipEndClient.Address); serverSocket.Close(); } }}

3. 請問如何寫一個java 伺服器端的servlet,然後可以當客戶端發出http請求的時候,可以接受請求,讀取資料庫

在用printwriter.write(json) 返回給客戶端。
接受從客戶端傳來的param,如servlet.getParameter("name");
在定義一個String json = "";
json="這里要寫你客戶端json Store的格式"

printwriter.write(json);

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

import java.net.*;
import java.io.*;
public class Server {
private ServerSocket ss;
private Socket socket;
private BufferedReader in;
private PrintWriter out;
public Server() {
try {
ss = new ServerSocket(8888);
while (true) {
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
out = new PrintWriter(socket.getOutputStream(), true);
String line = in.readLine();
if("hello".equals(line)){
out.println("hello");
out.close();
}
in.close();
socket.close();
}
ss.close();
} catch (IOException e) {
}
}
public static void main(String[] args) {
new Server();
}
}

5. C++網路編程(socket)我要寫一個伺服器端程序和一個客戶端程序

可以啊,解決方案上右鍵,添加項目,不過沒這個必要啊,因為你又不能只開一個VS來同時調試兩個項目。
設成啟動項目後可以按F5進行調試運行,或者CTRL+F5進行不調試運行,不過最後還是只能調試一個項目

6. C#, WCF如何創建一個簡單的伺服器端和客戶端程序

首先VS中的模板WCF SERVICE APP 項目,是一個承載到IIS的服務,用過web service就清楚,部署都差不多。

客戶端引用wcf服務,知道url地址就行了,客戶端添加服務引用,和添加以前的web service差不多。
客戶端使用到服務端的數據模型,在服務端定義實體類時,添加 datacontract屬性和datamember屬性就ok.
推薦一些教程地址,可以選擇了看看,你提到的這些問題在教程中都有涉及到。
1,WCF系列學習5天速成 http://www.cnblogs.com/huangxincheng/category/340145.html
2,WCF入門學習【Sheldon_Lou】http://www.cnblogs.com/sheldon-lou/category/648478.html
3,無廢話WCF系列教程 http://www.cnblogs.com/iamlilinfeng/category/415833.html
4,WCF編程 http://www.cnblogs.com/zxj159/category/604460.html
5,WCF入門【停留的風】http://www.cnblogs.com/yank/category/568085.html
6,WCF初探【wangweimutou】http://www.cnblogs.com/wangweimutou/tag/WCF/
7,WCF【指尖流淌】http://www.cnblogs.com/jianliutang/category/277163.html
8,WCF【xfrog】---重點 http://www.cnblogs.com/xfrog/tag/WCF/

7. 求用java寫一個ftp伺服器客戶端程序。

import java.io.*;
import java.net.*;public class ftpServer extends Thread{ public static void main(String args[]){
String initDir;
initDir = "D:/Ftp";
ServerSocket server;
Socket socket;
String s;
String user;
String password;
user = "root";
password = "123456";
try{
System.out.println("MYFTP伺服器啟動....");
System.out.println("正在等待連接....");
//監聽21號埠
server = new ServerSocket(21);
socket = server.accept();
System.out.println("連接成功");
System.out.println("**********************************");
System.out.println("");

InputStream in =socket.getInputStream();
OutputStream out = socket.getOutputStream();

DataInputStream din = new DataInputStream(in);
DataOutputStream dout=new DataOutputStream(out);
System.out.println("請等待驗證客戶信息....");

while(true){
s = din.readUTF();
if(s.trim().equals("LOGIN "+user)){
s = "請輸入密碼:";
dout.writeUTF(s);
s = din.readUTF();
if(s.trim().equals(password)){
s = "連接成功。";
dout.writeUTF(s);
break;
}
else{s ="密碼錯誤,請重新輸入用戶名:";<br> dout.writeUTF(s);<br> <br> }
}
else{
s = "您輸入的命令不正確或此用戶不存在,請重新輸入:";
dout.writeUTF(s);
}
}
System.out.println("驗證客戶信息完畢...."); while(true){
System.out.println("");
System.out.println("");
s = din.readUTF();
if(s.trim().equals("DIR")){
String output = "";
File file = new File(initDir);
String[] dirStructure = new String[10];
dirStructure= file.list();
for(int i=0;i<dirStructure.length;i++){
output +=dirStructure[i]+"\n";
}
s=output;
dout.writeUTF(s);
}
else if(s.startsWith("GET")){
s = s.substring(3);
s = s.trim();
File file = new File(initDir);
String[] dirStructure = new String[10];
dirStructure= file.list();
String e= s;
int i=0;
s ="不存在";
while(true){
if(e.equals(dirStructure[i])){
s="存在";
dout.writeUTF(s);
RandomAccessFile outFile = new RandomAccessFile(initDir+"/"+e,"r");
byte byteBuffer[]= new byte[1024];
int amount;
while((amount = outFile.read(byteBuffer)) != -1){
dout.write(byteBuffer, 0, amount);break;
}break;

}
else if(i<dirStructure.length-1){
i++;
}
else{
dout.writeUTF(s);
break;
}
}
}
else if(s.startsWith("PUT")){
s = s.substring(3);
s = s.trim();
RandomAccessFile inFile = new RandomAccessFile(initDir+"/"+s,"rw");
byte byteBuffer[] = new byte[1024];
int amount;
while((amount =din.read(byteBuffer) )!= -1){
inFile.write(byteBuffer, 0, amount);break;
}
}
else if(s.trim().equals("BYE"))break;
else{
s = "您輸入的命令不正確或此用戶不存在,請重新輸入:";
dout.writeUTF(s);
}
}

din.close();
dout.close();
in.close();
out.close();
socket.close();
}
catch(Exception e){
System.out.println("MYFTP關閉!"+e);

}
}}

8. 如何寫一個Web伺服器

針對web伺服器:首先你要去了解HTTP協議,web server說到底就是一個遵循Http協議的應用程序。可以先寫一個簡單的,然後去關注一些high performance相關的, i/o 復用(epoll), event loop, non-blocking, C10k問題,tcp調優(tcp_cork, tcp_nodelay...),高級I/O function(e.g. sendfile, writev, readv, mmap, splice, tee...), 常用的服務端架構(推薦陳碩的Muo C++那本書,不是讓你看muo, 而是他講的一些思想、做法和框)

9. 如何在Unity中寫服務端

建議從底層開始寫,用socket+C#,新手寫伺服器比較困難,找找別人寫的成品框架比較好,最好別用引擎的unet,坑比較多

10. 如何寫一個簡單的HTTP伺服器

這是一個真實的HTTP請求的例子,其中每一行都以\r\n結尾。由於我們寫的是簡單的伺服器,所以我們只關心其中的幾行。
第一行稱為請求行,GET是請求方法,表示獲取資源,除此之外還有POST方法、PUT方法、HEAD方法、DELETE方法和OPTIONS方法等。由於我們寫一個簡單的伺服器,所以暫時僅支
持GET方法。/是URI,表示客戶希望訪問的資源的URI。HTTP/1.1是HTTP協議的版本,此例中表示1.1版本。我們需要解析請求行,需要解析出方法欄位、URI和HTTP協議版本。
第二行是Host欄位,表示所請求的資源所在的主機名和埠號。
第三行User-Agent是客戶的瀏覽器的類型,此例是運行在Ubuntu上的Firefox瀏覽器。
第四行Accept表示客戶接受的資源的類型。
第四行Accept-Language表示客戶接受的語言類型。
第五行Connection表示伺服器在發送完客戶請求的數據之後是否斷開TCP連接。keep-alive表示不斷開,close表示斷開。

閱讀全文

與如何在伺服器寫一個伺服器端相關的資料

熱點內容
臉部識別演算法模型廠家 瀏覽:176
反編譯的程序帶注釋嗎 瀏覽:713
安裝軟體伺服器未響應怎麼解決 瀏覽:531
閥門開度單片機 瀏覽:568
python多線程有什麼坑 瀏覽:681
程序員從互聯網跳槽到銀行里 瀏覽:244
百度網盤資源解壓後暫不支持在線 瀏覽:220
android自動化環境 瀏覽:253
androidrealm加密 瀏覽:513
地圖正在解壓縮是什麼意思 瀏覽:217
電腦軟體能放在文件夾嗎 瀏覽:786
uc伺服器怎麼打開 瀏覽:363
net怎麼編譯 瀏覽:244
我的世界187伺服器地址ip 瀏覽:955
拍賣房價的演算法 瀏覽:440
linux內核編譯視頻教程 瀏覽:883
程序員厚黑 瀏覽:210
如何在閑魚淘二手安卓機 瀏覽:178
怎麼下載晨星app 瀏覽:135
兩台伺服器如何同步內容 瀏覽:811