服务器端与客户端通过tcp协议进行通讯java程
序实验结果
篇一:TCP通信实验报告Java
学号:
姓名:
————————基于TCP聊天室(java)
基于TCP的应用程序实例socket编程聊天室基本流程
【实验目的】
使用套接字socket建立一个简单的基于TCP的客户/服务器形式的网络程序。? 了解面向连接的通信原理分析客户机/服务器工作方式
客户机/服务器模式在操作过程中采取的是主动请示方式 (1)、首先服务器要先启动,并根据请示提供相应服务,过程如下:
打开通信通道并告知本地主机,它愿意在某个公认地址上接受客户请求。? 等待客户请求到达该端口。
接收到重复服务请求,处理该请求并发送应答信号。
返回第二步,等待另一客户请求。
关闭服务器
(2)、客户机启动后,向服务器发出请求,过程如下
打开通道信号,并连接到服务器所在主机的特定端口。
向服务器发送服务请求,等待并接收应答;继续提出请求。
请求结束后关闭通道并终止。
【实验说明、运行截图】
聊天程序由两大部分组成:服务器端聊天程序和客户端聊天程序。服务器端聊天程序负责接创建若干连接,接受客户端的请求,收来自客户端的聊天信息,并且把这些信息转发到聊天窗口中。客户端聊
天程序则负责建立和维护与服务器端的连接,向服务器发送本客户的聊天内容,同时从服务器接收对方的响应。
以下是等待连接到连接成功两个过程截图
1、(等待连接)
2
2、连接成功:
3
客户端连接成功后,即可向服务器端发送信息,服务器端即可实时显示,另外,服务器端可以连接多个客户端。
4
5
篇二:计算机网络基于Java的T cp服务器和客户端聊天程序
HUNAN UNIVERSITY
计算机网络
实验报告
题目实验三学生姓名学生学号专业班级物联一班指导老师谢鲲
完成日期2013.12.15
一、实验目的:
1. 搞清楚什么是端口;明白什么是套接字(socket);
2. 弄清楚网络通信在传输层传输数据的方式(两种:流传输(tcp)和数据报传输(udp)),明白三种套接字编程方法(流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW));
3. 熟悉C++ MFC编程中的套接字编程;
4. 了解tcp各种连接状态和套接字编程中服务器端和客户端的编程步骤,以及各个步骤的含义;
5. 尝试实现流式套接字的服务器和客户端程序;
二、实验要求:
1. 根据实验要求,交一份标准的实验报告;
2. 了解端口、套接字和TCP的各种连接状态;
3. 理解通信过程中服务器端和客户端的通信过程;
4. 尝试编写基于流式套接字的服务器和客户端程序;
三、实验内容
1、TCP各种连接状态(TCP套接字状态意义)
TCP套接字解释状态意义
CLOSED 没有使用这个套接字
LISTEN 套接字正在监听入境连接
SYN_SENT 套接字正在试图主动建立连接
SYN_RECEIVED 正在处于连接的初始同步状态ESTABLISHED 连接已建立
CLOSE_WAIT 远程套接字已经关闭:正在等待关闭这个套接字
FIN_WAIT_1 套接字已关闭,正在关闭连接
CLOSING 套接字已关闭,远程套接字正在关闭,暂时挂起关闭确认
LAST_ACK 远程套接字已,正在等待本地套接字的关闭确认FIN_W AIT_2 套接字已关闭,正在等待远程套接字关闭TIME_WAIT 这个套接字已经关闭,正在等待远程套接字的关闭传送
2、Socket通信过程中服务器端和客户端的通信过程
Socket是网络驱动层提供给应用程序编程的接口和一种数据发送、接收机制。Socket由应用程序创建,与网络驱动
层建立绑定机制,告诉网络驱动层当前应用程序所对应的IP 地址和端口号。
Socket数据发送过程:
Socket数据接收过程:
3、基于Java的T cp服务器和客户端聊天程序服务器端:
*************************************************** package myserver;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.ServerSocket;
import java.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
public class MyServer extends JFrame implements ActionListener, Runnable {
JT extArea jT extReceive = new JT extArea();
JT extField jT extSend = new JT extField();
JButton jbs = new JButton(发送);
ServerSocket server = null;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论