我要一份用java网络编程写的点对点的两人聊天程序(TCP和UDP)?
发布网友
发布时间:2022-04-23 21:29
我来回答
共1个回答
热心网友
时间:2023-10-10 05:52
Server端:
import java.io.*;
import java.net.*;
import java.applet.Applet;
public class TalkServer{
public static void main(String args[]) {
try{
ServerSocket server=null;
try{
server=new ServerSocket(4700);
}catch(Exception e) {
System.out.println("can not listen to:"+e);
}
Socket socket=null;
try{
socket=server.accept();
}catch(Exception e) {
System.out.println("Error."+e);
}
String line;
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Client:"+is.readLine());
line=sin.readLine();
while(!line.equals("bye")){
os.println(line);
os.flush();
System.out.println("Server:"+line);
System.out.println("Client:"+is.readLine());
line=sin.readLine();
}
os.close();
is.close();
socket.close();
server.close();
}catch(Exception e){
System.out.println("Error:"+e);
}
}
}
Client端:
import java.io.*;
import java.net.*;
public class TalkClient {
public static void main(String args[]) {
try{
Socket socket=new Socket("127.0.0.1",4700);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String readline;
readline=sin.readLine(); //从系统标准输入读入一字符串
while(!readline.equals("bye")){
os.println(readline);
os.flush();
System.out.println("Client:"+readline);
System.out.println("Server:"+is.readLine());
readline=sin.readLine(); //从系统标准输入读入一字符串
}
os.close(); //关闭Socket输出流
is.close(); //关闭Socket输入流
socket.close(); //关闭Socket
}catch(Exception e) {
System.out.println("Error"+e); //出错,则打印出错信息
}
}
}
我要一份用java网络编程写的点对点的两人聊天程序(TCP和UDP)?
Client端:import java.io.*;import java.net.*;public class TalkClient { public static void main(String args[]) { try{ Socket socket=new Socket("127.0.0.1",4700);BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));PrintWriter os=new PrintWriter(socket.getOutpu...
使用Java网络编程编写SIP消息的收发,TCP和UDP有什么区别?
它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点...
...WINSOCK编程实现简单的点对点通信,要具体的程序和步骤啊。。。用好 ...
创建收集用户信息的客户端应用程序,并将收集的信息发送到某中央服务器。创建一个服务器应用程序,作为多个用户的数据的汇入点。创建“聊天”应用程序。 选择通讯协议在使用 WinSock 控件时,首先需要考虑使用什么协议。可以使用的协议包括 TCP 和 UDP。两种协议之间的重要区别在于它们的连接状态: TCP 协议控件是基于连接的...
Android程序员必知必会的网络通信传输层协议——UDP和TCP
- UDP全称为User Date Protocal,是一种不可靠的传输协议,适用于数据量小、实时性要求高的场景,如请求DNS解析和文字聊天等。UDP协议具有无连接、尽最大努力交付、面向报文、支持多对多通信等特点,首部开销小,只有8个字节。UDP协议首部:- 包括源端口、目的端口、长度、检验和四个字段。其中检验和用...
java网络编程的目录
第一章 Java网络编程的原因网络程序的功能安全性等等!还有更多!第二章 基本网络概念网络网络的分层IP、TCP和UDPInternet客户/服务器模型Internet标准第三章 基本Web概念URIHTML、SGML和XMLHTTPMIME媒体类型服务器端程序第四章 流输出流输人流过滤器流阅读器和书写器第五章 线程运行线程返回线程中的信息同步...
网络编程用什么语言写的,就是像tcpudp协议都是用什么写出来的?
每一种编程语言都有socketAPI,所以每种语言都能用于网络编程。高并发的Server是用C写的。UDPTCP是四层协议,和编程语言并没有关系,但协议结构都是以C为蓝本设计的,所以用C的struct就可以很方便的组装报文。二进制协议用C开发是最方便的。网络编程通常是指能编写能跨越网络的应用,由于网站开发也属于...
JAVA 网路程序设计题目
主机-网络层 只要求第三方实现的主机-网络层能够为上层(网 络互联层)提供一个访问接口,使得网络互联层能 利用主机-网络层来传递IP数据包 3、请列举常用的传输层协议和应用层协议 传输层:UDP,TCP 应用层:HTTP,FTP,TELNET,SNMP,DNS 4、请描述非阻塞通信的流程及所涉及的主要java类和类职责。R...
UDP 和 TCP 的 socket 分别一般用在什么地方
总之:使用 UDP 需要有强大到不容置疑的理由,when in doubt, use TCP.一些协议,出于历史原因,受当时技术和网络条件限制,选择了基于UDP实现,其选择的理由现在很可能已经不再成立了。因此“xxx协议用UDP”不是你现在写网络应用程序也该用UDP的理由,除非你本身就是在实现xxx协议。另外,那些说TCP比...
TCP 和 UDP 在socket编程中的区别
UDP和TCP编程步骤也有些不同,如下:TCP编程的服务器端一般步骤是:1、创建一个socket,用函数socket();2、设置socket属性,用函数setsockopt(); * 可选 3、绑定IP地址、端口等信息到socket上,用函数bind();4、开启监听,用函数listen();5、接收客户端上来的连接,用函数accept();6、收发数据,...
如何实现两台主机之间的通信
作者不详 Winsock控件是VB5.0的新增功能,它解决了以往应用VB编程时网络中应用程序之间无法实现点对点通信的难题。Winsock使用的TCP协议和UDP协议允许建立并保持一个到远程计算机上的连接,且可以在连接结束之前实时地进行数据交换。用户仅通过设置属性并借助事件处理就能够轻而易举地连接到一个远程的计 算机上...