gpt4 book ai didi

java - 使用客户端/服务器的聊天程序

转载 作者:行者123 更新时间:2023-12-01 14:46:35 26 4
gpt4 key购买 nike

我想在java上创建一个客户端/服务器应用程序,服务器的IP地址为192.168.1.100,在端口4500上等待客户端请求。

客户端从键盘读取字符串,向服务器发送连接请求。一旦建立连接,它就会将字符串发送到服务器。

这是我尝试过的代码:

对于服务器:

import java.net.*;
import java.io.*;

public class Serveur {

public Serveur() {
// TODO Auto-generated constructor stub
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
ServerSocket ecoute;
ecoute = new ServerSocket(1111);
Socket service = null;
System.out.println("Serveur en attente d'un client !");
while(true)
{

service = ecoute.accept();
System.out.println("Client connécté !");
DataInputStream is = new DataInputStream(service.getInputStream());
System.out.println("Client dit : " + is.readUTF().toUpperCase());
service.close();
}
}
catch(IOException e)
{
e.printStackTrace();

}
}

}

对于客户:

import java.net.*;
import java.io.*;
import java.util.Scanner;

public class Client {

public Client() {
// TODO Auto-generated constructor stub
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Connexion en cours ...");
try {
Socket s = new Socket("localhost", 1111);
DataOutputStream os = new DataOutputStream(s.getOutputStream());
Scanner sn = new Scanner(System.in);
os.writeUTF(sn.nextLine());
} catch ( IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Connécté au serveur !");

}

}

但是我在使用这段代码时遇到了问题:

java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.(Unknown Source) at java.net.Socket.(Unknown Source) at Client.main(Client.java:18)

最佳答案

您的代码在我的机器上正确运行。

看来这里的问题不在于您的代码,而在于您的网络设置。

你应该:

  1. 确保您的 IP 地址和端口设置正确
  2. 检查两台计算机上的防火墙设置,确保它们不会阻止流量
  3. 确保您的主机文件正确(Windows 上为 C:\Windows\system32\drivers\etc\hosts)。本地主机条目可能设置不正确。

关于java - 使用客户端/服务器的聊天程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15391586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com