服務端**
using system;
using system.collections.generic;
using system.net;
using system.net.sockets;
using system.text;
using system.text.regularexpressions;
using system.threading;
using mode;
using mysql.data.mysqlclient;
using newtonsoft.json;
namespace server
; //建立乙個記憶體緩衝區,其大小為1024*1024位元組
public static byte arrserverrecmsg = new byte[1024 * 1024];
public static bool quit = false;
public static void main(string args)
.start();
console.readline();
quit = true;
thread.sleep(2000);
}/// /// 監聽客戶端連線
///
public static void watchconnecting()
catch (exception ex)
//讓客戶顯示"連線成功"的資訊
byte arrsendmsg = encoding.utf8.getbytes($"連線服務端成功!\r\n");
//新增客戶端資訊
clientconnectionitems.add(((socket)null).remoteendpoint.tostring(), null);
//建立乙個登入通訊接收執行緒
new thread(new parameterizedthreadstart(handlelogin.veri)) .start();
//建立乙個執行通訊接收執行緒
new thread(new parameterizedthreadstart(handleplace.recv)) .start();
//建立乙個彈窗通訊傳送執行緒
new thread(new parameterizedthreadstart(handleremind.send)) .start();}}
protected static mysqlconnection sqlcnn = new mysqlconnection("");
/// /// 登入
///
public static class handlelogin
/// /// 驗證客戶端發來的資訊
///
///
public static void veri(object socketclientpara)
}if (flag == true)
}if (flag == true)
;if (sqlcmd.executereader().hasrows)
else}}
catch (exception ex)
已經中斷連線\r\n\r\n\r\n");
//關閉之前accept出來的和客戶端進行通訊的套接字
socketserver.close();}}
}/// /// 派單
///
public class handleplace
/// /// 接收客戶端發來的資訊
///
///
public static void recv(object socketplacepara)
catch (exception ex)
已經中斷連線\r\n\r\n\r\n");
//關閉之前accept出來的和客戶端進行通訊的套接字
socketserver.close();}}
}/// /// 彈窗
///
///
public class handleremind
/// /// 傳送訊息給客戶端
///
///
public static void send(object socketremindpara)
;mysqldatareader recv = sqlcmd.executereader();
try);
var bytes = encoding.utf8.getbytes(str);
socketserver.send(encoding.utf8.getbytes(bytes.length.tostring()));
socketserver.receive(new byte[2]);
socketserver.send(bytes);}}
catch (exception ex)
}catch (exception ex)
已經中斷連線\r\n\r\n\r\n");}}
}}
}
客戶端與服務端的Socket通訊
客戶端 public class client catch exception e public void start else catch exception e public static void main string args catch exception e 該執行緒專門用來迴圈讀取服...
socket 實現客戶端與服務端通訊
python內的socket已經預設實現了tcp和udp兩種傳輸協議。本文通過乙個簡單的例子記錄一下socket的簡單使用方法。實現 客戶端和服務端通過tcp協議通訊,客戶端向服務端傳送訊息,服務端接收訊息後新增 too 字串後返回給客戶端,客戶端可以主動斷開連線。服務端 import socket...
socket 客戶端和服務端通訊
客戶端要連線伺服器 首先要知道伺服器的ip位址。而伺服器裡有很多的應用程式,每乙個應用程式對應乙個埠號 所以客戶端想要與伺服器中的某個應用程式進行通訊就必須要知道那個應用程式的所在伺服器的ip位址,及應用程式所對應的埠號 首先建立乙個解決方案,在解決方案下建立乙個 socket通訊 windows窗...