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协议相对应传输数据
- 列举常用的TCP和UDP端口及其应用程序的功能
- 如何用udp协议实现tcp协议
我想在服务器端使用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服务器客户端程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。