「TCP/UDP服务器客户端程序」简明教程 (tcpudp服务器客户端程序)

TCP/UDP服务器客户端程序:简明教程

TCP/IP是一个广泛使用的通信协议,它允许计算机在网络中进行通信。TCP/IP协议簇包括TCP和UDP两种主要协议,它们分别提供可靠的面向连接数据流和不可靠的无连接用于数据报文传输。在本文中,我们将介绍如何使用TCP和UDP实现服务器客户端程序。

TCP服务器客户端程序

TCP协议是一种面向连接的、可靠的协议,它通过三次握手来建立连接。在使用TCP实现服务器客户端程序时,服务器需要创建一个监听套接字(socket),等待客户端连接。客户端则需要创建一个套接字,向服务器发起连接。

1. 服务器端代码示例

以下是一个简单的TCP服务器程序的代码示例:

“`python

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.bind((‘localhost’, 8888))

s.listen()

while True:

conn, addr = s.accept()

print(‘Connected by’, addr)

while True:

data = conn.recv(1024)

if not data:

break

conn.sendall(data)

conn.close()

“`

在上述代码中,我们使用Python的socket库建立了一个TCP服务器,绑定到本地的8888端口,并等待客户端连接。当客户端连接时,我们打印出客户端的IP地址和端口号,并进入接收数据的循环。如果客户端没有发送数据,则循环结束,关闭连接。

2. 客户端代码示例

以下是一个简单的TCP客户端程序的代码示例:

“`python

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect((‘localhost’, 8888))

s.sendall(b’Hello, world’)

data = s.recv(1024)

s.close()

print(‘Received’, repr(data))

“`

在上述代码中,我们使用Python的socket库建立了一个TCP客户端,连接到本地的8888端口,并发送了一条消息。然后,我们等待服务器返回的数据,并在控制台上输出。

UDP服务器客户端程序

UDP协议是一种不可靠的协议,它不保证数据达到目的地。但是,UDP协议具有比TCP更快的速度和更少的网络负载。在使用UDP实现服务器客户端程序时,服务器无需建立连接,而是直接接收客户端发送的数据。客户端也不需要建立连接,而是直接向服务器发送数据报文。

1. 服务器端代码示例

以下是一个简单的UDP服务器程序的代码示例:

“`python

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.bind((‘localhost’, 8888))

while True:

data, addr = s.recvfrom(1024)

print(‘Received’, repr(data), ‘from’, addr)

“`

在上述代码中,我们使用Python的socket库建立了一个UDP服务器,绑定到本地的8888端口,并等待客户端发送数据报文。当我们收到数据报文时,我们打印出收到的数据和客户端的IP地址和端口号。

2. 客户端代码示例

以下是一个简单的UDP客户端程序的代码示例:

“`python

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.sendto(b’Hello, world’, (‘localhost’, 8888))

data, addr = s.recvfrom(1024)

s.close()

print(‘Received’, repr(data), ‘from’, addr)

“`

在上述代码中,我们使用Python的socket库建立了一个UDP客户端,向本地的8888端口发送一条消息。然后,我们等待服务器返回的数据,并在控制台上输出。

结论

以上是一个简明的TCP/UDP服务器客户端程序教程,它提供了使用Python语言实现服务器客户端程序的示例代码。无论您是初学者还是有经验的开发人员,掌握TCP和UDP通信协议和编程技巧都是非常重要的,它们对于开发网络应用和分布式系统至关重要。希望这篇文章能够为您提供有用的信息和帮助。

相关问题拓展阅读:

我想在服务器端使用TCP协议和同时使用UDP协议 与客户端TCP协议和UDP协议相对应传输数据

出现乱码,你要从3个方面考虑之一个,客户端是以什么编码方式发送UDP DATA域中的数据,ASCII? UTF-8?还是纯BIT第二个,传输中,是否出现干扰?,UDP协议没有重传只有数据校验,数据链路层一般也没,IP层只有首部校验第让搏三个,到了服务端后,服务器是以什么方式解释知举这段 数据流搭滑碧?是ASCII?UTF-8?还是十六进制展示?最后说下一个程序中,同时使用UDP和TCP没有任何冲突

UDP协议没有重传机制,是否丢包协议不管,你出现乱码很明显是因为丢包了原因。

列举常用的TCP和UDP端口及其应用程序的功能

文件,检查是雀仔仿否正常传输

udp是面向非连接的不可靠的协议,适用于传输一次性戚拿小批量的文件,不对传输数据报进行检查

tcp需要先建立连接才能通话

udp不需要,实时性要高点

tcp可以形象比喻为打的过程,udp可以比喻为发短信的过程

tcp不能发送广播和组播,只能单播

udp可以广播和组播

以上是个人所知,描述不够详尽

可顷纤以看看这个

TCP/IP协议端口一栏表携轿颂

_____

# GoSH portlist compiled by Julian Assange –

#

# Please send any additions / clarifications to

#

reserved 0/帆羡tcp Reserved

reserved 0/udp Reserved

tcpmux/tcp TCP Port Service Multiplexer

tcpmux/udp TCP Port Service Multiplexer

compressnet 2/tcp Management Utility

compressnet 2/udp Management Utility

compressnet 3/tcp Compression Process

compressnet 3/udp Compression Process

rje/tcp Remote Job Entry

rje/udp Remote Job Entry

echo/tcp Echo

echo/udp Echo

discard/tcp Discard

discard/udp Discard

systat/tcp Active Users

systat/udp Active Users

daytime/tcp Daytime

daytime/udp Daytime

netstat/tcp Netstat

qotd/tcp Quote of the Day

qotd/udp Quote of the Day

msp/tcp Message Send Protocol

msp/udp Message Send Protocol

chargen/tcp ttytst source Character Generator

chargen/udp ttytst source Character Generator

ftp-data 20/tcp File Transfer

ftp-data 20/udp File Transfer

ftp/tcp File Transfer

ftp/udp File Transfer

ssh/tcp Secure Shell – RSA encrypted rsh

telnet/tcp Telnet

telnet/udp Telnet

priv-mail 24/tcp any private mail system

priv-mail 24/udp any private mail system

tp/辩郑tcp Simple Mail Transfer

tp/udp Simple Mail Transfer

nsw-fe/tcp NSW User System FE

nsw-fe/udp NSW User System FE

msg-icp/tcp MSG ICP

msg-icp/udp MSG ICP

msg-auth 31/tcp MSG Authentication

msg-auth 31/udp MSG Authentication

dsp/tcp Display Support Protocol

dsp/udp Display Support Protocol

priv-print 35/tcp any private printer server

priv-print 35/udp any private printer server

time/tcp Time

time/udp Time

rap/tcp Route Access Protocol

rap/udp Route Access Protocol

rlp/tcp resource Resource Location Protocol

rlp/udp resource Resource Location Protocol

graphics 41/tcp Graphics

graphics 41/udp Graphics

nameserver 42/tcp Host Name Server

nameserver 42/udp Host Name Server

nicname/tcp Who Is

nicname/udp Who Is

mpm-flags 44/tcp MPM FLAGS Protocol

mpm-flags 44/udp MPM FLAGS Protocol

mpm/tcp Message Processing Module

mpm/udp Message Processing Module

mpm-snd/tcp MPM

mpm-snd/udp MPM

ni-ftp/tcp NI FTP

ni-ftp/udp NI FTP

auditd/tcp Digital Audit Daemon

auditd/udp Digital Audit Daemon

login/tcp Login Host Protocol

login/udp Login Host Protocol

re-mail-ck 50/tcp Remote Mail Checking Protocol

re-mail-ck 50/udp Remote Mail Checking Protocol

la-maint 51/tcp IMP Logical Address Maintenance

la-maint 51/udp IMP Logical Address Maintenance

xns-time 52/tcp XNS Time Protocol

xns-time 52/udp XNS Time Protocol

domain/tcp Domain Name Server

domain/udp Domain Name Server

xns-ch/tcp XNS Clearinghouse

xns-ch/udp XNS Clearinghouse

isi-gl/tcp ISI Graphics Language

isi-gl/udp ISI Graphics Language

xns-auth 56/tcp XNS Authentication

xns-auth 56/udp XNS Authentication

mtp/tcp deprecated

priv-term 57/tcp any private terminal access

priv-term 57/udp any private terminal access

xns-mail 58/tcp XNS Mail

xns-mail 58/udp XNS Mail

priv-file 59/tcp any private file service

priv-file 59/udp any private file service

ni-mail/tcp NI MAIL

ni-mail/udp NI MAIL

acas/tcp ACA Services

acas/udp ACA Services

via-ftp/tcp VIA Systems – FTP

via-ftp/udp VIA Systems – FTP

whois++/tcp

whois++/udp

covia/tcp Communications Integrator (CI)

covia/udp Communications Integrator (CI)

tacacs-ds 65/tcp TACACS-Database Service

tacacs-ds 65/udp TACACS-Database Service

sql*net/tcp Oracle SQL*NET

sql*net/udp Oracle SQL*NET

bootps/tcp Bootstrap Protocol Server

bootps/udp Bootstrap Protocol Server

bootpc/tcp Bootstrap Protocol Client

bootpc/udp Bootstrap Protocol Client

tftp/tcp Trivial File Transfer

tftp/udp Trivial File Transfer

gopher/tcp Gopher

gopher/udp Gopher

netrjs/tcp Remote Job Service

netrjs/udp Remote Job Service

netrjs/tcp Remote Job Service

netrjs/udp Remote Job Service

netrjs/tcp Remote Job Service

netrjs/udp Remote Job Service

netrjs/tcp Remote Job Service

netrjs/udp Remote Job Service

priv-dial 75/tcp any private dial out service

priv-dial 75/udp any private dial out service

deos/tcp Distributed External Object Store

deos/udp Distributed External Object Store

netrjs/tcp

priv-rje 77/tcp any private RJE service

priv-rje 77/udp any private RJE service

vettcp/tcp vettcp

vettcp/udp vettcp

finger/tcp Finger

finger/udp Finger

http/tcp www www-http World Wide Web HTTP

http/udp www www-http World Wide Web HTTP

www/tcp World Wide Web HTTP

www/udp World Wide Web HTTP

hosts2-ns 81/tcp HOSTS2 Name Server

hosts2-ns 81/udp HOSTS2 Name Server

xfer/tcp XFER Utility

xfer/udp XFER Utility

mit-ml-dev 83/tcp MIT ML Device

mit-ml-dev 83/udp MIT ML Device

ctf/tcp Common Trace Facility

ctf/udp Common Trace Facility

mit-ml-dev 85/tcp MIT ML Device

mit-ml-dev 85/udp MIT ML Device

mfcobol/tcp Micro Focus Cobol

mfcobol/udp Micro Focus Cobol

priv-term-l 87/tcp any private terminal link

priv-term-l 87/udp any private terminal link

ttylink/tcp

kerberos 88/tcp Kerberos

kerberos 88/udp Kerberos

su-mit-tg 89/tcp SU/MIT Telnet Gateway

su-mit-tg 89/udp SU/MIT Telnet Gateway

dnsix/tcp DNSIX Securit Attribute Token Map

dnsix/udp DNSIX Securit Attribute Token Map

mit-dov/tcp MIT Dover Spooler

mit-dov/udp MIT Dover Spooler

npp/tcp Network Printing Protocol

npp/udp Network Printing Protocol

dcp/tcp Device Control Protocol

dcp/udp Device Control Protocol

objcall/tcp Tivoli Object Dispatcher

objcall/udp Tivoli Object Dispatcher

supdup/tcp SUPDUP

supdup/udp SUPDUP

dixie/tcp DIXIE Protocol Specification

dixie/udp DIXIE Protocol Specification

swift-rvf 97/tcp Swift Remote Vitural File Protocol

swift-rvf 97/udp Swift Remote Vitural File Protocol

tacnews/tcp TAC News

tacnews/udp TAC News

metagram 99/tcp Metagram Relay

metagram 99/udp Metagram Relay

newacct/tcp

hostname 101/tcp hostnames NIC Host Name Server

hostname 101/udp hostnames NIC Host Name Server

iso-tsap 102/tcp tsap ISO-TSAP Class 0

iso-tsap 102/udp tsap ISO-TSAP Class 0

gppitnp/tcp Genesis Point-to-Point Trans Net

gppitnp/udp Genesis Point-to-Point Trans Net

x/tcp ISO Mail

acr-nema 104/tcp ACR-NEMA Digital Imag. & Comm. 300

acr-nema 104/udp ACR-NEMA Digital Imag. & Comm. 300

x400-snd 104/tcp ISO Mail

csnet-ns 105/tcp Mailbox Name Nameserver

csnet-ns 105/udp Mailbox Name Nameserver

3com-tux 106/tcp 3COM-TUX

3com-tux 106/udp 3COM-TUX

rtelnet/tcp Remote Telnet Service

rtelnet/udp Remote Telnet Service

snagas/tcp SNA Gateway Access Server

snagas/udp SNA Gateway Access Server

pop/tcp postoffice Post Office Protocol – Version 2

pop/udp postoffice Post Office Protocol – Version 2

pop/tcp Post Office Protocol – Version 3

pop/udp Post Office Protocol – Version 3

sunrpc/tcp rpcbind SUN Remote Procedure Call

sunrpc/udp rpcbind SUN Remote Procedure Call

mcidas/tcp McIDAS Data Tranission Protocol

mcidas/udp McIDAS Data Tranission Protocol

auth/tcp Authentication Service

auth/udp Authentication Service

audionews 114/tcp Audio News Multicast

audionews 114/udp Audio News Multicast

sftp/tcp Simple File Transfer Protocol

sftp/udp Simple File Transfer Protocol

ansanotify 116/tcp ANSA REX Notify

ansanotify 116/udp ANSA REX Notify

uucp-path 117/tcp UUCP Path Service

uucp-path 117/udp UUCP Path Service

sqlserv/tcp SQL Services

sqlserv/udp SQL Services

nntp/tcp Network News Transfer Protocol

nntp/udp Network News Transfer Protocol

cfdptkt/tcp CFDPTKT

cfdptkt/udp CFDPTKT

erpc/tcp Encore Expedited Remote Pro.Call

erpc/udp Encore Expedited Remote Pro.Call

akynet 122/tcp AKYNET

akynet 122/udp AKYNET

ntp/tcp Network Time Protocol

ntp/udp Network Time Protocol

ansatrader 124/tcp ANSA REX Trader

ansatrader 124/udp ANSA REX Trader

locus-map 125/tcp Locus PC-Interface Net Map Ser

locus-map 125/udp Locus PC-Interface Net Map Ser

unitary/tcp Unisys Unitary Login

unitary/udp Unisys Unitary Login

locus-con 127/tcp Locus PC-Interface Conn Server

locus-con 127/udp Locus PC-Interface Conn Server

gss-xlicen 128/tcp GSS X License Verification

gss-xlicen 128/udp GSS X License Verification

pwdgen/tcp Password Generator Protocol

pwdgen/udp Password Generator Protocol

cisco-fna 130/tcp cisco FNATIVE

cisco-fna 130/udp cisco FNATIVE

cisco-tna 131/tcp cisco TNATIVE

cisco-tna 131/udp cisco TNATIVE

cisco-sys 132/tcp cisco SYAINT

cisco-sys 132/udp cisco SYAINT

statsrv/tcp Statistics Service

statsrv/udp Statistics Service

ingres-net 134/tcp INGRES-NET Service

ingres-net 134/udp INGRES-NET Service

loc-srv/tcp Location Service

loc-srv/udp Location Service

profile/tcp PROFILE Naming System

profile/udp PROFILE Naming System

netbios-ns 137/tcp NETBIOS Name Service

netbios-ns 137/udp NETBIOS Name Service

netbios-dgm 138/tcp NETBIOS Datagram Service

netbios-dgm 138/udp NETBIOS Datagram Service

netbios-ssn 139/tcp NETBIOS Session Service

netbios-ssn 139/udp NETBIOS Session Service

emfis-data 140/tcp EMFIS Data Service

emfis-data 140/udp EMFIS Data Service

emfis-cntl 141/tcp EMFIS Control Service

emfis-cntl 141/udp EMFIS Control Service

bl-idm/tcp Britton-Lee IDM

bl-idm/udp Britton-Lee IDM

imap/tcp Interim Mail Access Protocol v2

imap/udp Interim Mail Access Protocol v2

NeWS/tcp Window System

NeWS/udp Window System

news/tcp NewS window system

news/udp NewS window system

uaac/tcp UAAC Protocol

uaac/udp UAAC Protocol

iso-tp/tcp ISO-IP0

iso-tp/udp ISO-IP0

iso-ip/tcp ISO-IP

iso-ip/udp ISO-IP

cronus/tcp CRONUS-SUPPORT

cronus/udp CRONUS-SUPPORT

aed/tcp AED 512 Emulation Service

aed/udp AED 512 Emulation Service

sql-net/tcp SQL-NET

sql-net/udp SQL-NET

hems/tcp HEMS

hems/udp HEMS

bftp/tcp Background File Transfer Program

bftp/udp Background File Transfer Program

sgmp/tcp SGMP

sgmp/udp SGMP

netsc-prod 154/tcp NETSC

netsc-prod 154/udp NETSC

netsc-dev 155/tcp NETSC

netsc-dev 155/udp NETSC

sqlsrv/tcp SQL Service

sqlsrv/udp SQL Service

knet-cmp 157/tcp KNET/VM Command/Message Protocol

knet-cmp 157/udp KNET/VM Command/Message Protocol

pcmail-srv 158/tcp PCMail Server

pcmail-srv 158/udp PCMail Server

nss-routing 159/tcp NSS-Routing

nss-routing 159/udp NSS-Routing

sgmp-traps 160/tcp SGMP-TRAPS

sgmp-traps 160/udp SGMP-TRAPS

snmp/tcp SNMP

snmp/udp SNMP

snmptrap 162/tcp SNMPTRAP

snmptrap 162/udp SNMPTRAP

cmip-man 163/tcp CMIP/TCP Manager

cmip-man 163/udp CMIP/TCP Manager

cmip-agent 164/tcp CMIP/TCP Agent

ip-agent 164/udp CMIP/TCP Agent

xns-courier 165/tcp Xerox 144,SXA>

xns-courier 165/udp Xerox

s-net/tcp Sirius Systems

s-net/udp Sirius Systems

namp/tcp NAMP

namp/udp NAMP

rsvd/tcp RSVD

rsvd/udp RSVD

send/tcp SEND

send/udp SEND

print-srv 170/tcp Network PostScript

print-srv 170/udp Network PostScript

multiplex 171/tcp Network Innovations Multiplex

multiplex 171/udp Network Innovations Multiplex

cl//tcp Network Innovations CL/1

cl//udp Network Innovations CL/1

xyplex-mux 173/tcp Xyplex

xyplex-mux 173/udp Xyplex

mailq/tcp MAILQ

mailq/udp MAILQ

vmnet/tcp VMNET

vmnet/udp VMNET

genrad-mux 176/tcp GENRAD-MUX

genrad-mux 176/udp GENRAD-MUX

xdmcp/tcp X Display Manager Control Protocol

xdmcp/udp X Display Manager Control Protocol

NextStep 178/udp nextstep NeXTStep NextStep Window Server

nextstep 178/tcp NextStep NeXTStep NextStep Window Server

bgp/tcp Border Gateway Protocol

bgp/udp Border Gateway Protocol

ris/tcp Intergraph

ris/udp Intergraph

unify/tcp Unify

unify/udp Unify

audit/tcp Unisys Audit SITP

audit/udp Unisys Audit SITP

ocbinder 183/tcp OCBinder

ocbinder 183/udp OCBinder

ocserver 184/tcp OCServer

ocserver 184/udp OCServer

remote-kis 185/tcp Remote-KIS

remote-kis 185/udp Remote-KIS

kis/tcp KIS Protocol

kis/udp KIS Protocol

aci/tcp Application Communication Interface

aci/udp Application Communication Interface

mumps/tcp Plus Five’s MUMPS

mumps/udp Plus Five’s MUMPS

qft/tcp Queued File Transport

qft/udp Queued File Transport

cacp/udp Gateway Access Control Protocol

gacp/tcp Gateway Access Control Protocol

prospero 191/tcp Prospero Directory Service

prospero 191/udp Prospero Directory Service

osu-nms/tcp OSU Network Monitoring System

osu-nms/udp OSU Network Monitoring System

srmp/tcp Spider Remote Monitoring Protocol

srmp/udp Spider Remote Monitoring Protocol

irc/tcp Internet Relay Chat Protocol

irc/udp Internet Relay Chat Protocol

dn6-nlm-aud 195/tcp DNSIX Network Level Module Audit

dn6-nlm-aud 195/udp DNSIX Network Level Module Audit

dn6-m-red 196/tcp DNSIX Session Mgt Module Audit Redir

dn6-m-red 196/udp DNSIX Session Mgt Module Audit Redir

dls/tcp Directory Location Service

dls/udp Directory Location Service

dls-mon/tcp Directory Location Service Monitor

dls-mon/udp Directory Location Service Monitor

ux/tcp UX

ux/udp UX

src/tcp IBM System Resource Controller

src/udp IBM System Resource Controller

at-rtmp/tcp AppleTalk Routing Maintenance

at-rtmp/udp AppleTalk Routing Maintenance

at-nbp/tcp AppleTalk Name Binding

at-nbp/udp AppleTalk Name Binding

at/tcp AppleTalk Unused

at/udp AppleTalk Unused

at-echo/tcp AppleTalk Echo

at-echo/udp AppleTalk Echo

at/tcp AppleTalk Unused

at/udp AppleTalk Unused

at-zis/tcp AppleTalk Zone Information

at-zis/udp AppleTalk Zone Information

at/tcp AppleTalk Unused

at/udp AppleTalk Unused

at/tcp AppleTalk Unused

at/udp AppleTalk Unused

tam/tcp Trivial Authenticated Mail Protocol

tam/udp Trivial Authenticated Mail Protocol

z39./tcp ANSI Z39.50

z39./udp ANSI Z39.50

914c/g/tcp Texas Instruments 914C/G Terminal

914c/g/udp Texas Instruments 914C/G Terminal

anet/tcp ATEXSSTR

anet/udp ATEXSSTR

ipx/tcp IPX

ipx/udp IPX

vmpwscs/tcp VM PWSCS

vmpwscs/udp VM PWSCS

softpc/tcp Insignia Solutions

softpc/udp Insignia Solutions

atls/tcp Access Technology License Server

atls/udp Access Technology License Server

dbase/tcp dBASE Unix

dbase/udp dBASE Unix

mpp/tcp Netix Message Posting Protocol

mpp/udp Netix Message Posting Protocol

uarps/tcp Unisys ARPs

uarps/udp Unisys ARPs

imap/tcp Interactive Mail Access Protocol v3

imap/udp Interactive Mail Access Protocol v3

fln-spx/tcp Berkeley rlogind with SPX auth

fln-spx/udp Berkeley rlogind with SPX auth

fsh-spx/tcp Berkeley rshd with SPX auth

fsh-spx/udp Berkeley rshd with SPX auth

rsh-spx/tcp Berkeley rshd with SPX auth

rsh-spx/udp Berkeley rshd with SPX auth

cdc/tcp Certificate Distribution Center

cdc/udp Certificate Distribution Center

sur-meas 243/tcp Survey Measurement

sur-meas 243/udp Survey Measurement

link/tcp LINK

link/udp LINK

dsp/tcp Display Systems Protocol

dsp/udp Display Systems Protocol

pdap/tcp Prospero Data Access Protocol

如何用udp协议实现tcp协议

直接上代码,仅供参考,具体 tcp、udp的通信原理很容易找到。

TCP服务器端代码:

try {

Boolean endFlag = false;

ServerSocket ss = new ServerSocket(12345);

while (!endFlag) {

//罩滑 等待客户端连接

Socket s = ss.accept();

BufferedReader input = new BufferedReader(newInputStreamReader(s.getInputStream()));

//注意第二个参数据为true将会自动flush,否则需要举拦需要手动操作output.flush()

PrintWriter output = newPrintWriter(s.getOutputStream(),true);

String message = input.readLine();

Log.d(“Tcp Demo”, “message from Client:”+message);

output.println(“message received!”);

//output.flush();

if(“shutDown”.equals(message)){

endFlag=true;

}

s.close();

}

ss.close();

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

TCP客户端代码:

try {

Socket s = new Socket(“localhost”, 12345);

// outgoing stream redirect to socket

OutputStream out = s.getOutputStream();

// 注意第二个参数据为true将会自动flush,否则需要需要手动操作out.flush()

PrintWriter output = new PrintWriter(out, true);

output.println(“Hello IdeasAndroid!”);

BufferedReader input = new BufferedReader(newInputStreamReader(s

.getInputStream()));

// read line(s)

String message = input.readLine();

Log.d(“Tcp Demo”, “message From Server:” + message);

s.close();

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

下面我们看看UDP:

UDP服务器端代码:

// UDP服务器监听的端口

Integer port = 12345;

// 接收的字节大小,客户端发送的数据不能超过这个大小

byte message = new byte;

try {

// 建物答腊立Socket连接

DatagramSocket datagramSocket = new DatagramSocket(port);

DatagramPacket datagramPacket = new DatagramPacket(message,

message.length);

try {

while (true) {

// 准备接收数据

datagramSocket.receive(datagramPacket);

Log.d(“UDP Demo”, datagramPacket.getAddress()

.getHostAddress().toString()

+ “:” + new String(datagramPacket.getData()));

}

} catch (IOException e) {

e.printStackTrace();

}

} catch (SocketException e) {

e.printStackTrace();

}

UDP客户端代码:

public static void send(String message) {

message = (message == null ? “Hello IdeasAndroid!” : message);

int server_port = 12345;

DatagramSocket s = null;

try {

s = new DatagramSocket();

} catch (SocketException e) {

e.printStackTrace();

}

InetAddress local = null;

try {

// 换成服务器端IP

local = InetAddress.getByName(“localhost”);

} catch (UnknownHostException e) {

e.printStackTrace();

}

int msg_length = message.length();

byte messagemessageByte = message.getBytes();

DatagramPacket p = new DatagramPacket(messageByte, msg_length, local,

server_port);

try {

s.send(p);

} catch (IOException e) {

e.printStackTrace();

}

关于tcpudp服务器客户端程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 「TCP/UDP服务器客户端程序」简明教程 (tcpudp服务器客户端程序)