javasocket服务器端

JAVA问题:用socket编写一个服务器端程序

服务端:

ServerSocket serverSocket = new ServerSocket(2008);

while (true) {

Socket socket = serverSocket.accept();

MyThread thread = 并扮new MyThread(socket);

thread.start();

}

public class MyThread extends Thread {

private Socket socket;

public MyThread(Socket socket) {

this.socket = socket;

}

@Override

public void run() {

super.run();

try {

InputStream is = socket.getInputStream();

BufferedReader bufReader = new BufferedReader(new InputStreamReader(is));

String line = “”;

String s = “”;

while ((s = bufReader.readLine()) != null) {

line = line 卖脊+ s;

}

System.out.println(“接收中蔽渗到:” + line);

} catch (IOException e) {

e.printStackTrace();

}

}

}

客户端:

public static void main(String[] args) throws UnknownHostException, IOException {

Socket socket=new Socket(“192.168.0.101”, 2008);

OutputStream out=socket.getOutputStream();

PrintWriter pw=new PrintWriter(new OutputStreamWriter(out));

pw.print(“12345上山打老虎”);

pw.flush();

pw.close();

out.close();

}

java用socket写的服务器和客户端要如何测试啊?客户端的连接是的ip有什么是本机IP么?

你好,其实测试的时候就用本机地址127.0.0.1进行就可以了,服务器和客户端都用一个IP,但端口不同,一般服务器端是固定端口,而多个客户端用其他的多个端口进行连接。

当然春汪你想模拟更真实的效果,又没有多台机器,可以搭建虚拟悄森碧机,比如vmware,把客户端或服务启举器放到虚拟机里去。

javasocket服务器端

java的客户端用的是Socket,服务器端用SocketChannel,这两种能实现通信么? 说得比较白,望理解

Socket 和ServerSocke 是一对 他们是java.net下面实现物肢socket通洞蚂绝信的类

SocketChannel 和ServerSocketChannel是一对 他们是java.nio下面实现通信的类 支持异步纳姿通信

服务器必须先建立ServerSocket或者ServerSocketChannel 来等待客户端的连接

客户端必须建立相对应的Socket或者SocketChannel来与服务器建立连接

服务器接受到客户端的连接受,再生成一个Socket或者SocketChannel与此客户端通信

不过Socket和SocketChannel可以通过 socket.channel() SocketChannel.socket() 方法相互转换

同理ServerSocket 和ServerSocketChannel 也可以相互转换

用java socket实现一个服务器对多个客户端的文件传输

通过socket可以用如枝兆下方式进行。

1.启动服猛旦租务端代码。

2.启动客户迟谨端自动连接服务端。

3.服务端上传文件,保存文件和路径。

4.将路径发送给连接服务端的客户端。

小白求教,关于JAVA socket客户端 和服务端的通信

1、客氏扮户端连接一般是与用户绑定的,无用户数据的socket就算能区分连接也毫无意义。一般做法是客户端利用HTTP登录,登录服务器分析各个socket服务器的负载后发送给客户端应该连接哪个socket服务器,客户端拿到登录成功后的用户ID后再连接socket服务器,此用户ID就可以用于socket服务器区分客户端连接。

2、如果自建socket服务器,建议最好不用SSH、SSM之类的框架,可控性更高,更加轻量,但工作坦卖量稍显繁多,且复杂;建议使用Netty做scoket基础框架。

3、歼信灶客户端服务端通信可以用json格式的文本行(字符流,以\r\n自动做粘包断包解码),还有自定义数据格式的字节流(比如 数据包内容长度+数据包内容,以数据包内容长度手动编写代码做粘包断包解码),还可以用时下流行的protobuf。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月21日 21:10:21
下一篇 2024年3月21日 21:18:33

相关推荐

  • javasocket释放,java里socket

    Java程序为什么需要数据库连接池麻烦告诉我 数据库连接是一件费时的操作,连接池可以使多个操作共享一个连接数据库连接池的基本思想就是为数据库连接建立一个缓冲池。 基本概念及原理 由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理。我们知道,对于共享资源,有一个很著名的设计模式:资源池 (Resource Pool)。该模式正是为了解决资源的频繁…

    2024年5月23日
    3600
  • javasocket工具类,java socket工具类

    通过Java中的Socket技术编写能够进行双向通信的客户端和服务器,为了能… 1、Socket编程:使用Socket可以在客户端和服务器之间建立TCP连接,实现双方之间的实时通信。Java提供了Socket类和ServerSocket类,可用于实现Socket编程。 2、java编程对于Socket之间的通信过程如下:服务端往Socket的输出…

    2024年5月22日
    6200
  • 包含javasocket封包的词条

    java怎么处理socket服务端粘包 socket粘包是避免不了的,主要在于接收方如何解包和控制。处理方法:定制socket传输协议。增加包头、命令、数据长度、数据体、结束位。 是指在出现粘包的时候我们的接收方要进行分包处理。先建立服务端的ServerSocket与客户端的Socket。打开连接到Socket输入、输出流。根据协议进行读写操作(如服务端建立…

    2024年5月21日
    4200
  • 包含javasocket语音聊天的词条

    java是如何实现聊天功能的? Socket编程:使用Socket可以在客户端和服务器之间建立TCP连接,实现双方之间的实时通信。Java提供了Socket类和ServerSocket类,可用于实现Socket编程。 Java可以使用Socket编程实现聊天功能。Socket是一种网络通信协议,它可以在不同的主机之间传输数据。在聊天功能中,一般有客户端和服务…

    2024年5月21日
    4900
  • javasocket重新连接,java socket connection reset

    java.net.sockettimeoutexception安卓开发 1、sockettimeoutexception是网络请求超时异常,在网络状况不佳,且设置了RequestTimeOut、ReadTimeOut时会爆出该错误。此时应该给出网络连接超时的提示,并给出用户重试的交互,或建立自动重新连接的线程。 2、这是一个经典错误, Socket不能对外连…

    2024年5月21日
    4000
  • javasocket类似spring,java socket nio

    java开发聊天功能用什么技术? 1、开发聊天功能可以采用以下几种技术:Socket编程:使用Java Socket编程可以实现基于TCP或UDP的网络通信,这是Java最基础、最底层的网络编程技术。 2、对于Java开发聊天功能,有多种实现方式和技术可供选择,以下是一些常用的技术和框架: WebSocket:WebSocket 是 HTML5 定义的一种新…

    2024年5月20日
    4400
  • javasocket突然断开,java socket自动断开

    java组播接收一段时间断开了 1、看你是多长时间断掉,可能会是服务器端参数设置了session连接时间,就是说摸个session在多长时间内没有活动自动踢掉。 2、你好:初步的判断,应该是你没有清除中断标志位。发送、接收之后中断标志会置位,你若没清除,下一次的发送。接收会受到影响。希望我的回答能帮助到你。 3、如果省略Package语句,则该文件中定义的类…

    2024年5月19日
    3900
  • javasocket心跳实现,java实现心跳机制

    java是否可以实现心跳的程序 1、Timer貌似可以实现,给你个demo看看是不是你想要的,具体的实现就要你自己去查阅api或者去百度博客什么的了。。 2、\x0d\x0a心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。 3、心跳的也有现成的,不过依赖别的类。大概贴一下,就是这么个…

    2024年5月18日
    5700
  • javasocket读取byte,socket读取byte流

    请教一个利用java中socket字节流进行收发时遇到的问题 使用Socket经常会遇到这种问题,由于网络原因,read方法每次不一定会读取到全字节,建议使用DataInputStream中的readInt方法,JDK进行了读取整数的封装,可以保证每次都拿到想要的数据。 接收方法的问题 如果你发送一个长度11的字符串 而用一个长度为8的数组接收 第一次rea…

    2024年5月18日
    4000
  • javasocket三次握手,socket三次握手详解

    Socket之bind、listen实现 listen()系统调用将文件描述符sockfd引用的流socket标记为被动,这个socket后面会被用来接受来自其他(主动的)socket的链接。 用Socket之前,一定要先用WSAStartup初始化。连线是两个终端的事情,所以你需要写一个服务器和一个客服端 服务器:WSAStartup socket 创建套…

    2024年5月16日
    3700

发表回复

登录后才能评论



关注微信