私はDrawSomethingのようなプログラムをコーディングしています。しかし、色のドローペンの帰属を転送する方法がわかりません。
ドロークライアントと推測クライアントがあります。描画クライアントがペンの色を変更する場合、推測クライアントに通知し、新しい色で図を描画する方法。
ソケットを使用して新しい色を読み取る方法と、送信、文字列、またはRGBの色の種類について、クライアントまたはフォームを知りたいですか?
私はこのコードを使用しています。文字列と見なすと、ptpプロトコルを使用して転送でき、クライアントのもう一方の端(クライアントを推測)に表示されます。
public Color _drawPenColor = Color.Red;
public int _drawPenWidth = 10;
ClientSendPtPPacket("DRAW-" + e.X.ToString() + "-" + e.Y.ToString() + "-"
+ _drawPenWidth.ToString() + "-"
+ _drawPenColor.ToString(),
opponentIP, opponentPort);
パケットを受け取りました。パケットの1つは、「Draw-150-234(postion)-10(width)-Color[red]」です。
また、カラーパレットを使用して色を変更すると、「Draw-150-234-10-Color [A = 255、R = 45、G = 28、B=45]」になります。IPとポートは無視されます。
だから私の質問は、新しい色を取得する方法です。
PS:ClientSendPtPPacketクラス
private void ClientSendPtPPacket(string content, IPAddress toIp, int toPort)
{
try
{
if (_socketClient != null && _socketClient.Connected == true)
{
string sendPacket = _localIP.ToString() + "-" + _localPort.ToString() + "-" +
toIp.ToString() + "-" + toPort.ToString() + "-" + content;
Byte[] bytePacket = System.Text.Encoding.UTF8.GetBytes(sendPacket);
_socketClient.Send(bytePacket);
}
}
catch (Exception excep)
{
}
}