TCP server
import socket
address=('0.0.0.0',10000)
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(address)
s.listen(128)
while 1:
client_socket, clientAddr = s.accept()
recv_data = client_socket.recv(1024)
print('got tcpdata from:', recv_data)
client_socket.send("thank you !".encode('gbk'))
client_socket.close()
s.close()
TCP client
# -*- coding: utf-8 -*-
import socket
# 创建socket
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 目的信息
address=('140.143.18.81',10000)
# 链接服务器
tcp_client_socket.connect(address)
# 提示用户输入数据
send_data = input("请输入要发送的数据:")
tcp_client_socket.send(send_data.encode("gbk"))
# 接收对方发送过来的数据,最大接收1024个字节
recvData = tcp_client_socket.recv(1024)
print('接收到的数据为:', recvData.decode('gbk'))
# 关闭套接字
tcp_client_socket.close()
UDP server
# -*- coding: utf-8 -*-
import socket
#创建socket对象
#SOCK_DGRAM udp模式
address=('0.0.0.0',10000)
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(address) #绑定服务器的ip和端口
while 1:
data,addr=s.recvfrom(1024)
if not data:
break
print "got data from",addr
print(data.decode())# decode()解码收到的字节
s.close()
UDP client
# -*- coding: utf-8 -*-
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
addr = ("127.0.0.1", 6000)
while True:
data = input("Please input your name: ")
if not data:
continue
s.sendto(data.encode(), addr)
response, addr = s.recvfrom(1024)
print(response.decode())
if data == "exit":
print("Session is over from the server %s:%s\n" % addr)
break
s.close()