我迫切需要帮助.我基本上创建了一个程序(将使用)加密来回发送消息.加密部分工作正常,但我对线程是相当新的,我不能为我的生活让我的应用程序的客户端/服务器部分排队.聊天程序是使用TCP的直接IP连接,因此每个主机都是客户端和服务器.当我调试时,我似乎遇到的问题是,当客户端尝试连接到服务器线程时,服务器线程未准备就绪,或者如果它已准备就绪,它将不会放弃线程,因此客户端可以连接!我已经工作了几个小时了,这非常令人沮丧......我希望有人可以提供帮助!我在下面提供了我的代码.这是我的MainForm的代码片段,它构建了Client和Server方面:
private void InitializeComponent() {
server = new ServerSide("127.0.0.1",7865);
servThread = new Thread(new ThreadStart(server.begin));
client = new ClientSide("127.0.0.1",7865);
clientThread = new Thread(new ThreadStart(client.begin));
servThread.Start();
clientThread.Start();
//servThread.Join();
//clientThread.Join();
Run Code Online (Sandbox Code Playgroud)
}
这是我的ServerSide代码:
public class ServerSide
{
String IpString;
int tcpPort;
bool goodToGo = false;
System.Net.IPAddress ipAddress = null;
public ServerSide(String ip, int tcpPort)
{
IpString = ip;
bool isValidIp = System.Net.IPAddress.TryParse(IpString, out ipAddress);
if (isValidIp == true) // check if the IP is valid, set the bool to true if so
{
goodToGo …Run Code Online (Sandbox Code Playgroud)